当photoId直接在语句上而不是变量时,以下工作完全没有问题。
$img_query = mysqli_query($con, 'SELECT * FROM imgs WHERE photoid = "103"') or die(mysqli_error($con));
但是以下内容不会没有错误,可能导致这种情况无法选择。
$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循环。
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'];
}
感谢。
答案 0 :(得分:3)
在php中'
和"
非常不同,查询语法是围绕查询的双引号和围绕变量的单引号..虽然我建议你看看你的查询中使用参数而不是仅仅将变量直接放入查询
$imageid = '103';
$query = $con->prepare("SELECT * FROM imgs WHERE photoid = ?");
$query->bind_param('sssd', $imageid);
$query->execute();
这只是它的基本要点...如果你想了解更多关于连接的信息..错误处理和其他一切阅读DOCS
答案 1 :(得分:1)
php中的'
和"
之间存在很大差异
将您的查询更改为
$img_query = mysqli_query($con, "SELECT * FROM imgs WHERE photoid = '$imageid'") or die(mysqli_error($con));
它应该有用。