登录  /  注册

有人遇到mysqli的fetch_assoc()方法出错吗?解决方案

php中文网
发布: 2016-06-13 13:38:37
原创
1049人浏览过

有人遇到mysqli的fetch_assoc()方法出错吗?
配置是phpnow5.1.6 :windowsXP + php5.2.14 + apache2.2.6 + MySQL5.1.50

在用mysqli类的fetch_assoc()时,Apache好像歇菜了。见如下代码:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->while($row =$rs-&gt;fetch_assoc())
{
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "<td>" . $row['Age'] . "</td>";
echo "<td>" . $row['HomeTown'] . "</td>";
echo "<td>" . $row['Job'] . "</td>";
echo "</tr>";
}
登录后复制

IE提示无法显示页面,FF提示载入页面时到服务器的连接被重置。
如果把上面的代码去掉则恢复正常。
如果把fetch_assoc关联数组代换为fetch_row()的索引数组也没事,对应把$row['FirstName']换成$row[0]就可以。
但有时这样代码会变得不清晰,所以上来救助大家有无解决方法?!
我在网上google了很久,发现很少人遇到这样的问题,即使有,也只是书写错误什么的,不适合解决我这个问题。

------解决方案--------------------
使用 $rs->fetch_array 方法吧
------解决方案--------------------
用fetch_array()加上参数就好了:MYSQLI_ASSOC[关联], MYSQLI_NUM[数字], MYSQLI_BOTH[全部]
PHP code

<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);

/* numeric array */
$row = $result-&gt;fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result-&gt;fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = $result-&gt;fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
$result-&gt;close();

/* close connection */
$mysqli-&gt;close();
?&gt;
<br><font color="#e78608">------解决方案--------------------</font><br>没有错误信息吗?<br>看样子是没有打开错误显示功能
<br><font color="#e78608">------解决方案--------------------</font><br>
那只能是你的关联字段没有和数据库中的对应上。<br>实在没办法,用预编译处理吧:<br>
登录后复制
PHP code

$sql = "SELECT mid,movName,movType,movStar,movImg,movPlay,director,producter FROM mov_film";
        $stmt = $this-&gt;mysqli-&gt;prepare($sql);
        $stmt-&gt;execute();
        $stmt-&gt;store_result();
         $stmt-&gt;bind_result($mid,$movName,$movType,$movStar,$movImg,$movPlay,$director,$producter);
        $rows = $stmt-&gt;affected_rows;
        if ($rows &gt; 0){
            $arrMovie = array();
            while($stmt-&gt;fetch()){
                //将文件名从路径中取出并转换为相对路径
                $movImg = "../../images/".basename($movImg);
                //截取文件名
                $arrStr = explode(".",basename($movPlay));
                $movPlay = "../../videos/".$arrStr[0];

                $arr = array(
                    "mid" =&gt; $mid,
                    "movName" =&gt; $movName,
                    "movType" =&gt; $movType,
                    "movStar" =&gt; $movStar,
                    "movImg" =&gt; $movImg,
                    "movPlay" =&gt; $movPlay,
                    "director" =&gt; $director,
                    "producter" =&gt; $producter
                );
                array_push($arrMovie,$arr);
            }
            return $arrMovie;
        } <div class="clear"></div>
登录后复制
智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号