2011-08-14 13 views
0

こんにちは私のコードは何のエラーも与えませんが、dbの名前thatsの結果ではありません? ユーザーがPHPファイルに入力するデータを処理するフォームのコードは次のとおりです。 HTMLユーザー入力コード:データベースクエリでエラーが発生することはありませんか?

<html> 
<head> 
</head> 
<body> 
<form action="search.php"> 
<input type="text" name="search"> 
<input type="submit"> 

</body> 
</html> 

PHPコード:

 <?php 
$db = new mysqli("localhost","root","","acksocial"); 

if(mysqli_connect_error()) 
{ 
printf("Connection failed:%s \n",mysqli_connect_error()); 
exit(); 
} 

$name = mysqli_real_escape_string($db, $_POST['search']); 
$table = 'acksearch'; 

if($result = $db->query("SELECT * FROM $table WHERE name = $name", MYSQLI_ASSOC)) 
{ 
while($row = $result->fetcssh_object()) 
    { 

// $row is an associative array 

// Do something here 

echo "Name: ".$row['name']; 

echo " country: ".$row['country']; 

} 
} 
$db->close(); 

?> 

答えて

1

mysqli_real_escape_string文字列をエスケープしますが、あなたのクエリに構文エラーがありので、それを引用しません。データベース機能を使用している場合をチェックし、を報告(もしくはログイン、または何でも)エラーが発生してください

"... WHERE name = '$name'"... 

はに交換してください。

+0

また、MySQLiはMySqlのようなエラーを生成しません。あなたがそれらをつかむために必要なエラーを見たい場合。 mysqli_error mysqli_errnoを参照してください。 – transilvlad

関連する問題