Почему PDO не работает в wamp?
Почему PDO не работает в wamp? Я думаю, что мой PHP-код в порядке, но я не могу вставить и получить данные из базы данных MySQL, как я могу это исправить?
<?php
$db = new PDO('mysql:host=localhost;dbname=ajaxdata','root','');
$page = isset($_GET['p'])?$_GET['p']:'';
if($page=='add') {
$name = $_POST['nm'];
$email = $_POST['em'];
$phone = $_POST['pn'];
$address = $_POST['ad'];
$stmt = db->prepare("INSERT INTO info VALUES('',?,?,?,?)");
$stmt->bindParam(1,$name);
$stmt->bindParam(2,$email);
$stmt->bindParam(3,$phone);
$stmt->bindParam(4,$address);
if($stmt->execute()){
echo "Success add data";
} else {
echo "Fail add data";
}
} else if($page=='edit'){
} else if($page=='del'){
} else{
$stmt = $db->prepare("SELECT * FROM info");
$stmt->execute();
while($row = $stmt->fetch()){
?>
<tr>
<td><?php echo $row['id'] ?></td>
<td><?php echo $row['name'] ?></td>
<td><?php echo $row['email'] ?></td>
<td><?php echo $row['phone'] ?></td>
<td><?php echo $row['address'] ?></td>
<td>
<button class="btn btn-warning">Edit</button>
</td>
</tr>
<?php
}
}
?>
Я не знаю, как исправить эту ошибку от wamp, поэтому, пожалуйста, скажите мне, что делать.
1 ответ
Вы пропускаете знак доллара при вызове вашего объекта БД variable
:
$stmt = db->prepare("INSERT INTO info VALUES('',?,?,?,?)");
// ^
что должно быть следующим:
$stmt = $db->prepare("INSERT INTO info VALUES('',?,?,?,?)");