mysqli语句中的问题绑定参数[重复]

问题描述 投票:0回答:1

以下代码在未获取数据时也不会引发错误。注意:$ url变量包含一个字符串。

$stmt2 = $conn->stmt_init();
$stmt2->prepare("SELECT 'image', 'name' FROM events WHERE 'eventurl'='?'");
$stmt2->bind_param("s",$url)
$stmt2->execute();
$stmt2->bind_result($image, $name);

当我编写以下代码时,输​​出为“ Binding error:0”

if(!$stmt2->bind_param("s",$url)){echo "Binding error : ".mysqli_errno($conn)."<br>";}

我已经意识到绑定数据存在一些问题,因为当我直接在查询中提及值时,就可以毫无问题地获取数据。

$stmt2->prepare("SELECT 'image', 'name' FROM events WHERE 'eventurl'='latest-event-url'");

有人可以帮助我确定绑定数据在这里是什么问题?

php mysqli prepared-statement
1个回答
0
投票

我怀疑您的双引号和单引号引起了问题。您可以尝试以下方法:

$url = "www.google.com" //added this just as a test

$stmt2 = $conn->stmt_init();
$stmt2->prepare('SELECT image, name FROM events WHERE eventurl = ?');
$stmt2->bind_param('s',$url)
$stmt2->execute();
$stmt2->bind_result($image, $name);
© www.soinside.com 2019 - 2024. All rights reserved.