gpt4 book ai didi

php - 使用 php 从 mysql 获取行时收到警告

转载 作者:行者123 更新时间:2023-11-29 13:47:02 24 4
gpt4 key购买 nike

这似乎是重复的问题,但我尝试了所有答案,这些答案已经发布。

这是我的代码

include"db.php";
//$poster_id=1;
$sql = "SELECT pi.full_name,pi.poster_img,pi.poster_tag,
p.post_title,p.post_description,p.post_tag,
p.post_snap
FROM POSTS p JOIN POSTER_INFO pi ON p.poster_id=pi.auth_id";
$result = mysql_query($sql) or die(mysql_error());
echo mysql_error();
$msg=" ";
while($row = mysql_fetch_array($result)) {

$msg_footer="<div class='post_footer'>";
$msg_footer=$msg_footer."<div class='post_img'>";
$msg_footer=$msg_footer."<img src='". 'data:image/jpeg;base64,' . base64_encode( $row[6] ) ."' width='330' height='130' /></div>";
$msg_footer=$msg_footer."<div class='post_author'><div class='author_img'><img src='". 'data:image/jpeg;base64,' . base64_encode( $row[1] ) ."' width='80' height='80' /></div>";
$msg_footer=$msg_footer."<div class='author_info'><b>". $row[0] ."</b><br/><span style='font-size:11px'>". $row[2] ."</span><br/><span style='font-size:10px'>1 Post</span></div></div></div>";

$msg .= " <li><br/><span class='post_title'>". $row[3] ."</span><br/><br/><span class='post_description'>" . $row[4] . "</span></li>";
$msg .=$msg_footer; //WARNING POINTING TO THIS LINE
}

我收到警告,它指向 while 循环的最后一行;

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\labs\load_data.php on line 40

我的sql查询是正确的,因为我尝试在sql编辑器和php页面中执行它。像这样

<?php
$sql = "SELECT pi.full_name,pi.poster_img,pi.poster_tag,
p.post_title,p.post_description,p.post_tag,
p.post_snap
FROM POSTS p JOIN POSTER_INFO pi ON p.poster_id=pi.auth_id";
$result = mysql_query($sql) or die(mysql_error());
echo mysql_error();

while($row = mysql_fetch_array($result)) {
?>
<tr>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[2]; ?></td>
<td><?php echo $row[3]; ?></td>
</tr>
<?php }
?>

在这种情况下,我没有收到任何警告。

最佳答案

我非常确定该错误不是由您发布的代码触发的。

<小时/>

检查mysql_query()的返回值在代码中的所有位置,如下所示:

if(mysql_query(...) === FALSE) {
die(mysql_error());
}

我发现您已经在所显示的代码中执行了此操作,但警告将在我假设的代码中的另一点触发。

<小时/>

另一种解释可能是,您在代码中的某处覆盖了 $result - 但这也没有显示。

<小时/>

一般建议:不要在新代码中使用 mysql_* 函数。它们已被弃用。使用 PDOmysqli_* 代替

关于php - 使用 php 从 mysql 获取行时收到警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17251283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com