0

テーブルからデータを取得しようとしています。テーブルにはデータが含まれており、クエリは true です。なぜ次のクエリが言っ$u$tいて定義されていないのですか。条件が偽になる間。

データベースに手動でチェックインしたところ、結果が表示されていました。

$url = "http://paulgraham.com/";
$user_id = "123";
$con = mysqli_connect('127.0.0.1', 'root', '', 'mysql');
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    return;
}
$result = mysqli_query($con,"SELECT * FROM post_data WHERE userid =".$url." and url=".$user_id."");
while ($row = @mysqli_fetch_array($result))
{
    echo "hi";
    $t = $row['title'];
    $u = $row['url'];

}

echo "title is : $t";
echo "url is : $u";
4

2 に答える 2

1

SQLクエリを与える:

"SELECT * FROM post_data WHERE userid =".$url." and url=".$user_id.""

URL とユーザー ID が混在していることがわかります... 次のように変更します。

"SELECT * FROM post_data WHERE userid =".$user_id." and url=".$url.""

また、レコードがない場合に備えて、ループの前に変数$tと変数を定義してください。$u次回はvar_dump、生成されたクエリをテストしてみてください。

于 2013-10-31T16:36:27.200 に答える