PHP MySQL预准备语句无法从视图中获取

时间:2018-07-09 17:06:30

标签: php sql mysqli prepared-statement

我已经完成了在本地PC上开发网站的工作,并且一切正常。现在,在将PHP脚本和文件转移到Web主机目录之后,我开始遇到问题,尤其是关于“准备好的语句”。

简而言之,当我对表执行准备好的语句时,它返回值,但是当对视图执行时,它不会返回值。

$con = mysqli_connect($a["server"], $a["username"], $a["password"], $a["database"]);

$sql = "SELECT ID FROM table WHERE ALIAS = ?";
$stmt = mysqli_prepare($con,$sql);
mysqli_stmt_bind_param($stmt, "s", $_GET["alias"]);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $id);
mysqli_stmt_fetch($stmt);
mysqli_stmt_close($stmt);

echo "ID: $id";

$ id具有价值,但是当我从视图中选择

$sql = "SELECT ID FROM view WHERE ALIAS = ?";
$stmt = mysqli_prepare($con,$sql);
mysqli_stmt_bind_param($stmt, "s", $_GET["alias"]);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $id);
mysqli_stmt_fetch($stmt);
mysqli_stmt_close($stmt);

echo "ID: $id";

$ id为空,如果我使用mysqli_query()从视图中进行选择,则它将获得一个值。您能帮忙解决这个问题吗?

注意:一开始我会设置

mysqli_report(MYSQLI_REPORT_OFF);

谢谢

0 个答案:

没有答案