【发布时间】:2014-01-15 15:28:24
【问题描述】:
我的代码的目的是从数据库中获取所有用户名,并以升序回显它们,每个用户名之间有一个中断。除了一行之外,它似乎工作正常。
当我运行这段代码时,我得到了错误
致命错误:第 23 行的 C:\wamp\www\Site files\users.php 中不支持的操作数类型
我在代码中用 ** 在它的 ether 侧突出显示了这一行。我已经尝试了很多方法来完成这项工作,但我不是特别胜任,我似乎找不到解决方案。
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="comproject"; // Database name
$tbl_name="members"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$query = mysql_query("SELECT username FROM members ORDER BY username ASC") or die(mysql_error());
$count = mysql_num_rows($query);
$array = array();
while ($row = mysql_fetch_array($query, MYSQL_NUM)) {
$array[] = $row; }
for ($i=0; $count>$i; $i++) {
**echo $array[$i] + "<br/>";**
}
?>
另外我正在尝试将我的代码移动到 mysqli 中,所以如果您对此有任何建议,也非常感谢 :) 我理解它几乎相同
【问题讨论】:
-
在 PHP 中,您使用
.进行连接,而不是+(就像在 JavaScript 中那样)。请参阅文档:php.net/manual/en/language.operators.string.php -
为什么要将查询结果复制到数组中,然后才循环遍历数组并回显其输出?为什么不在
while循环中使用echo $row[0]?