2016-05-25 8 views
0
ここ

$user_idは単一引用されている。ここで彼らはどのように同じ結果を返しますか?

$select = $conn->query("SELECT firstname,lastname FROM users WHERE user_id = '$user_id'"); 
$row = $select->fetch_assoc(); 
    print_r($row); 

$user_idは、単一の'1' == 1を行い、

$select = $conn->query("SELECT firstname,lastname FROM users WHERE user_id = $user_id"); 
$row = $select->fetch_assoc(); 
    print_r($row); 

$user_id = 1もし引用されていません?どちらも返される連想配列$user_id = 1です。

+2

というのも、引用符で囲んだ整数に関してはMySQLが許しているからです。その変数が文字列だった場合は、別の話になります。これは*「短い答え」*です。だからあなたは知っている。 –

+0

*お待ちください... * –

+0

... dary! (ああ待って、それは別のものからです)。 – Mike

答えて

0

ご利用の場合は、はい、'1' == 1です。

From the docs

数値コンテキストの数値に文字列をキャストするには、あなたは、通常、それが数であるかのように文字列値を使用する以外は何もを行う必要はありません。

mysql> SELECT 1+'1'; 
     -> 2 
関連する問題