代码如下
<?php
$db=new mysqli("localhost","knife","123456","knife_app");
if(mysqli_connect_errno())
{
echo "不能链接数据库,请检查!";
exit;
}
$query = "insert into books values(?, ?, ?, ?)";
$stmt = $db->prepare($query);
$stmt->bind_param("sssd", "010-455-789", "fish", "lover", "35.6");
$stmt->execute();
echo $stmt->affected_rows."已插入数据库!";
$stmt->close();
?>提示错误:
Fatal error: Cannot pass parameter 2 by reference in D:\PHP_APP\DB\db_insert_prepared.php on line 10第10行是 $stmt->bind_param("sssd", "010-455-789", "fish", "lover", "35.6");帮我看看什么错误,要怎么调试呢?
<?php
$db=new mysqli("localhost","knife","123456","knife_app");
if(mysqli_connect_errno())
{
echo "不能链接数据库,请检查!";
exit;
}
$query = "insert into books values(?, ?, ?, ?)";
$stmt = $db->prepare($query);
$stmt->bind_param("sssd", "010-455-789", "fish", "lover", "35.6");
$stmt->execute();
echo $stmt->affected_rows."已插入数据库!";
$stmt->close();
?>提示错误:
Fatal error: Cannot pass parameter 2 by reference in D:\PHP_APP\DB\db_insert_prepared.php on line 10第10行是 $stmt->bind_param("sssd", "010-455-789", "fish", "lover", "35.6");帮我看看什么错误,要怎么调试呢?
if(mysqli_connect_errno())
{
echo "不能链接数据库,请检查!";
exit;
}
$query = "insert into books( xx,xx,xx,xx ) values(?, ?, ?, ?)"; // 这里要这样
$stmt = $db->prepare($query);
$stmt->bind_param("sssd", "010-455-789", "fish", "lover", "35.6");
$stmt->execute();
echo $stmt->affected_rows."已插入数据库!";
$stmt->close();
我改成这样
$query = "insert into books(isbn,author,title,price) values(?, ?, ?, ?)";
错误提示:Fatal error: Cannot pass parameter 2 by reference in D:\PHP_APP\DB\db_insert_prepared.php on line 10
$stmt->bind_param("sssd", "010-455-789", "fish", "lover", "35.6");
"sssd"作用是告诉PHP四个数据类型依次是字符,字符,字符,双精度
或者
$stmt->bind_param(1,"sssd");
$stmt->bind_param(2,"010-455-789");
$stmt->bind_param(3,"fish");
$stmt->bind_param(4,"lover");
$stmt->bind_param(5,"35.6");我也是初学