-3

これは私のコードの一部です:

$sql = "select uid,connected,callerid2 from calls where uid = $uid;";
    $c = new dbConnect();
    $results = pg_query($c->pgConnect(), $sql);
    if (!$results)
    {
        die("Error in SQL query: " . pg_last_error());
    }

SSHから実行すると、次のメッセージが表示されます。

LINE 1: select uid,connected,callerid2 from calls where uid = ;

正しく注入されていないように見え$uidますが、理由はわかりません。私も試しpg_prepareましたが、同じ結果になりました。別の方法で何をする必要がありますか?

4

4 に答える 4

1
$sql = "select uid,connected,callerid2 from calls where uid = '" . $uid . "'";

そして、それ$uidが存在することを確認してください。

于 2013-03-21T14:32:52.260 に答える
1
$sql = "select uid,connected,callerid2 from calls where uid = '" . (int)$uid . "'";
于 2013-03-21T15:14:54.623 に答える
0
$query = sprintf("select uid,connected,callerid2 from calls where uid = '%s'", 
$uid); 
// Then run the query. 
$result = mysql_query($query);
于 2013-03-21T14:33:34.537 に答える
-2

変数は明らかに空です。また、文字列と変数を混同しないことは常に良いことです

$sql = "select uid,connected,callerid2 from calls where uid = " . $uid . ";";

$uid整数ではなく文字列であると想定される場合は、引用符で囲みます。

$sql = "select uid,connected,callerid2 from calls where uid = '" . $uid . "';";
于 2013-03-21T14:31:49.293 に答える