2011-07-15 14 views
1

に新しい目を必要とする、この文で問題どのようなもの:私はこれで新たなんだmysqlのクエリステートメント

DB Error, could not query the database 
MySQL Error: You have an error in your SQL syntax; check the manual that corresponds to 
your MySQL server version for the right syntax to use near '' at line 1 

私が入れたときに:私はエラーを取得しておく

$sql=" SELECT * FROM `calendar` WHERE `DayId` ='".$day."'"; 
$result = mysql_query($sql, $conn); 


if (!$result){ 
    echo "DB Error, could not query the database\n"; 
    echo 'MySQL Error: ' . mysql_error(); 
    exit; 
} 

while ($row = mysql_fetch_array($result)) {    //set $dayType 
    $dayType = $row[DayType];  
} 

は、 "echo $ result;" $ result = ...で始まる行の後に "Resource id#2"の$ resultの値が得られます

+1

var_dump($ day)してください。私はそれが空だと思います – RiaD

+0

'$ day'には何がありますか?代入の後に '$ sql'には何が入っていますか?また、このようにSQL文を構築する方法は、SQLインジェクションの方法です。これはこれをコード化する非常に悪い方法です。代わりに '?'プレースホルダを使用してください。 –

+0

$ day = date(z);だから、値は195 – JEGM

答えて

1

"day"変数を引用符で囲む必要があります(エスケープする必要があります!あなたがまだの場合)

DayId =

$sql = "SELECT * FROM calendar」」)$日(mysql_real_escape_stringの。。 "'";

0

あなたの$日の変数が人口になっていないことを私には思わ.. SQLステートメントを実行してすべてが正しいかどうかを確認してください。

1
$sql="SELECT * FROM `calendar` WHERE `DayId` = '".$day."'"; 
0

日付(z)の場合は日付( 'z')に変更します。

+0

も追加されましたが、それは問題ではありませんでした。 – JEGM

関連する問題