配置是phpnow5.1.6 :windowsXP + php5.2.14 + apache2.2.6 + MySQL5.1.50在用mysqli类的fetch_assoc()时,Apache好像歇菜了。见如下代码:
while($row =$rs->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了很久,发现很少人遇到这样的问题,即使有,也只是书写错误什么的,不适合解决我这个问题。
while($row =$rs->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了很久,发现很少人遇到这样的问题,即使有,也只是书写错误什么的,不适合解决我这个问题。
$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->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);/* associative array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);/* associative and numeric array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);/* free result set */
$result->close();/* close connection */
$mysqli->close();
?>
实在没办法,用预编译处理吧:$sql = "SELECT mid,movName,movType,movStar,movImg,movPlay,director,producter FROM mov_film";
$stmt = $this->mysqli->prepare($sql);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($mid,$movName,$movType,$movStar,$movImg,$movPlay,$director,$producter);
$rows = $stmt->affected_rows;
if ($rows > 0){
$arrMovie = array();
while($stmt->fetch()){
//将文件名从路径中取出并转换为相对路径
$movImg = "../../images/".basename($movImg);
//截取文件名
$arrStr = explode(".",basename($movPlay));
$movPlay = "../../videos/".$arrStr[0]; $arr = array(
"mid" => $mid,
"movName" => $movName,
"movType" => $movType,
"movStar" => $movStar,
"movImg" => $movImg,
"movPlay" => $movPlay,
"director" => $director,
"producter" => $producter
);
array_push($arrMovie,$arr);
}
return $arrMovie;
}
apache也没报错,之前的错误还是[error] [client 127.0.0.1] File does not exist: ... ...
所以说这个错误有点奇怪,应该是版本之前的冲突。反正懒得找了。