PHP返回错误

时间:2013-11-13 05:45:02

标签: php

这是我的代码:

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的值应该是资源:/

3 个答案:

答案 0 :(得分:1)

试试这个:

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

注意:不要使用mysql_ *函数作为其折旧,而是使用PDO或MySQLi

答案 1 :(得分: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这样的人建议您需要将列名更改为除日期之外的其他内容,因为它是一个保留字。

答案 2 :(得分:0)

试试这个

if( mysql_num_rows( $result ) > 0 ) {
   while($row = mysql_fetch_array($result)) {
   }
}