2017-02-10 3 views
0

ここPHPで問題が発生しました。PHPは値が異なることを示します

誰かがログインしたときに値を保存するためにsetcookie()を使用しました。クッキーの値は "fred"で、その名前は "name"で、別のページでは私が$ _cookie [ ]とそれを印刷し、 "フレッド"と表示されます。しかし、問題はcookie変数をクエリに使用するときです。私はフレッドに、クエリの$名の値を交換し、クエリが動作するため

$name = $_cookie['name']; 
mysql_query("SELECT * FROM names WHERE name LIKE '$name' ORDER BY id "); 

私はこれを行う場合は、$ nameはフレッドと到着していない、私はこれを知っています!変数をクリーンな文字列として扱うのは明らかです。空白がある場合は最後の文字を取得するためにstrlenを試しました。また、ltrim()、rtrim()を試しました。もうアイデアはありません。助けてください!

+0

をあなたは '「エコーSELECTを実行するとどうなります*名LIKE名から「 $ name 'ORDER BY id ";'?また、 '$ name = $ _COOKIE ['name'];'ワイルドカードを使わずに 'LIKE'検索をしているのはなぜですか? 'name = '$ name''を使用してください。 –

+0

同じ結果です。私は同じではない、同じ結果でも試しました。エコーでクエリを実行すると "Resource id#5"というエラーが発生する –

+0

上記の 'echo $ name'より上に表示される内容 – affaz

答えて

0

私はこのようなクエリを書いていたので、私はこのエラーを得た:

SELECT ALL FROM USERS WHERE NAME LIKE "NAME" ORDER BY ID 

の代わり:

SELECT BLABLA WHERE BLA LIKE 'BLA' ORDER BLA 
関連する問題