-1

这是我的代码:

include('functions.php');

//open connection to the server
$host="localhost"; // Host name
$username="timeout7_admin"; // Mysql username
$password="cazz11"; // Mysql password
$db_name="timeout7_timeout"; // Database name

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$sql = "SELECT * FROM jobs WHERE status='past' AND date LIKE '2013-10%'";
$result = mysql_query($sql);
    if($result == false) {
        echo mysql_error();
    }

while($row = mysql_fetch_array($result)) {
}

它返回此错误:

PHP Warning:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home4/timeout7/public_html/backend/test.php on line 16

但我不明白为什么...... $result 的价值应该是一种资源:/

4

3 回答 3

1

尝试这个:

$sql = "SELECT * FROM jobs WHERE status='past' AND date LIKE '2013-10%'";
$result = mysql_query($sql) or die(mysql_error());

注意:不要使用 mysql_* 函数作为它的贬值,而是使用 PDO 或 MySQLi

于 2013-11-13T05:46:43.403 回答
0

尝试这个

if( mysql_num_rows( $result ) > 0 ) {
   while($row = mysql_fetch_array($result)) {
   }
}
于 2013-11-13T06:16:40.477 回答
0

将您的更改$result = mysql_query($sql);$result = mysql_query($sql) or die(mysql_error()); 如果有任何错误将显示。看起来你的 sql 也有错误。

$sql = "SELECT * FROM jobs WHERE status='past' AND date LIKE '2013-10%';"; 

需要是

$sql = "SELECT * FROM jobs WHERE status='past' AND renamed_date_column LIKE '2013-10%'";

此外,正如 HankyPanky 和 ​​Pekka 建议的那样,您需要将列名更改为日期以外的其他名称,因为它是保留字。

于 2013-11-13T05:47:52.960 回答