当我尝试将任何内容插入数据库时,它不会显示任何错误,但数据不在数据库中。我检查了表名称和结构,这就是它的变化...
SELECT 是一次尝试,除了上面的 INSERT INTO 之外,它工作正常,但为什么呢?
<?php
error_reporting(0);
require "../database/MySQL.php";
$sql = "INSERT INTO zb_employees (name, option, image_path, email) VALUES ('1', '2', '3', '4')";
$db->query($sql);
echo $db->affected_rows;
echo '<br>';
$sql = "SELECT * FROM zb_employees";
$result = $db->query($sql);
if ( $result->num_rows > 0 ) {
while($row = $result->fetch_assoc()) {
$row["name"];
}
} else {
echo "0 Employees found!";
}
$db->close();
最佳答案
option是MYSQL中的保留字。因此,您需要加上反引号才能使其可接受
了解更多 on reserved words in MYSQL
<?php
//turn this on when in development.
error_reporting(-1);
$sql = "INSERT INTO zb_employees (`name`, `option`, `image_path`, `email`) VALUES ('1', '2', '3', '4')";
$db->query($sql);
echo $db->affected_rows;
还可以考虑使用准备好的语句。有助于防止 SQL 注入(inject)
关于PHP INSERT INTO MySQL 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43072094/