这是我第一次尝试准备好的语句,我没有返回单个文本元素,而是得到了一个数字。具体编号为1
。有人说它与计数记录有关,但我不知道如何关闭它。
function primary_include2($url_keyword)
{
$link = select_db();
$query = "select file_path FROM primary_includes WHERE url_label=?";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_bind_param($stmt, 's', $url_keyword);
if ($result = mysqli_stmt_execute($stmt));
{
mysqli_stmt_bind_result($stmt, $file_path);
$path = mysqli_stmt_fetch($stmt);
return $path;
}
mysqli_close($link);
}
应该是:
function primary_include2($url_keyword)
{
$link = select_db();
$query = "select file_path FROM primary_includes WHERE url_label=?";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_bind_param($stmt, 's', $url_keyword);
if ($result = mysqli_stmt_execute($stmt));
{
mysqli_stmt_bind_result($stmt, $file_path);
mysqli_stmt_fetch($stmt);
return $file_path;
}
mysqli_close($link);
}
因为无论是否检索到记录,mysqli_stmt_fetch都会返回true/false。实际值存储在指向mysqli_stmt_bind_result的变量中。