在 mysqli 语句中发出绑定参数

Issue binding parameters in mysqli statement

下面的代码没有抛出错误,也没有获取数据。注意:$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'");

谁能帮我确定绑定数据可能存在的问题?

我怀疑你的双引号和单引号出了问题。您可以尝试以下操作吗:

$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);