【发布时间】:2011-07-30 17:27:16
【问题描述】:
我是 Mysqli 但不习惯,我对以下代码有问题..
$mysql = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or die('There was a problem connecting to the database');
if (mysqli_connect_errno()) {
printf("DB error: %s", mysqli_connect_error());
exit();
}
$query = "INSERT INTO employee(id, name, age, address, phone, email, department,
designation, joindt, terminate, salary, deduction, tds, pf)
VALUES (:id, :name, :age, :address, :phone, :email, :department,
:designation, :joindt, :terminate, :salary, :deduction, :tds, :pf)";
$ins = $mysql->prepare($query);
if(!ins){
echo "prepare failed\n";
echo "error: ", $mysql->error, "\n";
echo "OBJECT NOT CREATED";
return;
}
运行此代码时,我的浏览器中出现以下错误:
( ! ) 致命错误:未捕获的异常 'mysqli_sql_exception' 与 message '你有一个错误 SQL 语法;检查手册 对应你的 MySQL 服务器 使用正确语法的版本 在附近 C:\wamp\www\payroll\new_backend.php 上 第 40 行
( ! ) mysqli_sql_exception: 你有 SQL 语法错误;检查 对应于您的 MySQL 的手册 正确语法的服务器版本 使用近'加入,终止,薪水, 扣除, tds, pf) 值 (:id, :name, :age, ' 在 C:\wamp 的第 2 行 \www\payroll\new_backend.php 上线 40
我猜 PREPARE 语句没有创建 $ins 对象。有什么帮助吗?
【问题讨论】:
-
对不起水平滚动..
-
我假设您知道 SQL 语法错误是未创建对象的原因... :-?
-
@Alvaro - 我正在使用本教程中的语法 - net.tutsplus.com/tutorials/databases/sql-for-beginners 你能告诉我正确的语法吗?或者我可以学习的页面?
-
您是否从链接的教程中获得代码?它甚至没有提到 mysqli 扩展。
-
我在我的答案中添加了一个应该有效的示例。
标签: php mysql mysqli prepared-statement