如何在另一个查询的 while 循环中运行 sql 查询
当 photoId 直接在语句上而不是变量时,以下工作完全没有问题.
The following works with no problem at all, when the photoId is directly on the statement and not a variable.
$img_query = mysqli_query($con, 'SELECT * FROM imgs WHERE photoid = "103"') or die(mysqli_error($con));
但是下面的操作不会出错,可能是什么原因导致无法选择.
but the following just won't work with no error, what might be causing this not to select.
$imageid = '103';
$img_query = mysqli_query($con, 'SELECT * FROM imgs WHERE photoid = "$imageid"') or die(mysqli_error($con));
$img_row = mysqli_fetch_array($img_query);
echo $img_row['img'];
这是一个while循环.
This is inside a while loop.
while($row = mysqli_fetch_array($somequery)){
$imageid = $row['photoid'];
$img_query = mysqli_query($con, 'SELECT * FROM imgs WHERE photoid = "$imageid"') or die(mysqli_error($con));
$img_row = mysqli_fetch_array($img_query);
echo $img_row['img'];
}
谢谢.
推荐答案
在php中'
和"
差别很大,查询语法是双引号左右变量周围的查询和单引号......尽管我建议您在查询中使用参数,而不是直接将变量放入查询中
in php a '
and a "
are very different and the query syntax is double quote around the query and single quote around variables.. although I would recommend you look at using parameters on your query instead of just putting a variable directly into the query
$imageid = '103';
$query = $con->prepare("SELECT * FROM imgs WHERE photoid = ?");
$query->bind_param('sssd', $imageid);
$query->execute();
这只是它的细节......如果你想了解更多关于连接的信息......错误处理和其他一切阅读DOCS
this is just the nuts and bolts of it... if you want more information about the connection.. error handling and everything else read the DOCS
相关文章