2017-08-07 13 views
-2

問題: r_startの日付が他の2つの変数の間にあるr_startの数字をカウントします。しかし、それは常に私にエラー通知を与える:Undefined variable: z in [path] on line 173。変数を埋めるわけではないので、COUNTはうまく機能しないと私は思う。私はreasearchの多くを行なったし、いくつかのことを試してみましたが、私は単純に原因を見つけることができません。..MySQLのカウントで変数がいっぱいになりません

$sqld = "SELECT r_start, COUNT (*) FROM reservation WHERE r_start BETWEEN '".$cid."' and '".$cod."' GROUP BY r_start"; 
if ($result = $con->query($sqld)) { 
    $z = mysqli_fetch_assoc($result); 
} 

このエラーは、COUNTタグで表示されます。私の他のクエリでは、それは絶対にうまく動作します。 電話番号:

$sqlc = "SELECT * FROM reservation where r_ende between '".$cid."' and '".$cod."'"; 
if ($result = $con->query($sqlc)) { 
    $y = mysqli_fetch_assoc($result); 
} 

誰でも私の理由を教えてもらえますか?私は何か間違ったことをした?

+0

http://php.net/manual/mysqli.quickstart.prepared-statements.php – Phil

答えて

1

MySQLは、一般に、関数とオープニングの間のスペースを認識しません。

SELECT r_start, COUNT(*) as cnt 
FROM reservation r 
WHERE r_start BETWEEN '".$cid."' and '".$cod."' 
GROUP BY r_start; 

ます。また、クエリに値を渡すパラメータを使用することを学ぶ必要があります。私はまた、あなたが列に別名を与えることを助言します。パラメータを使用しないと、コードが予期しない(およびデバッグが難しい)構文エラーの対象となり、SQLインジェクションに対して脆弱になります。

関連する問題