前因:
用PHP对MYSQL调用(增删改查基本操作),结果调用失败,报错如上
错误代码:
<?php
function delSQL(){
$sql = "DELETE FROM `new_list` WHERE `new_list`.`id` = 1";
if ($conn->query($sql) === TRUE) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
?>
排查出来原因在 $conn->query($sql)
;conn是我前面对数据库建立连接用的一个变量:
$conn = new mysqli($servername, $username, $password, $dbname);
出错原因:
在delSQL( )
函数内$conn
变量为空值;我忘记了$conn
是全局变量,函数内调用需要加global
声明
正确函数代码:
<?php
$servername = "...";
$username = "...";
$password = "...";
$dbname = "...";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
function delSQL(){
global $conn;
$sql = "DELETE FROM `new_list` WHERE `new_list`.`id` = 1";
if ($conn->query($sql) === TRUE) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
?>