0

これが私のコードです:

    function display_name1($s){
        global $db;
        $query1 = 'SELECT Name From Drink where P_Key = $s';
        $r = $db->prepare($query1);
        $r->execute();
        $result = $r->fetchColumn();
        return $result;

        }

$sP_Key自動インクリメントされた列から返された結果が含まれます。クエリにを与えることができるようにしたいのですがP_Key、その行から必要な変数が返されます。何らかの理由で、これは機能していません。何も返しません。ここで、を返す$sと、本来の数値が表示されるので、$s変数自体に問題はありません。クエリから取り出し$sて数字に置き換えると、飲み物の名前がそのまま返されるので、データベースやクエリに問題はありません。問題は、$s正しく解釈されていないことのようです。

サイコロを使わずにクエリに入れる前に、整数に変換してみました。何か案は?

4

2 に答える 2

3

二重引用符を使用してみてください。一重引用符は変数を解釈しませんでした。"SELECT Name From Drink where P_Key = $s"

参照:PHP文字列解析

于 2013-03-26T04:04:50.520 に答える
0

このように使用する

"SELECT Name From Drink where P_Key = ".$s.""

あなたは使用して違いを見つけることができますecho $query1

于 2013-03-26T04:12:37.650 に答える