ホームページ  >  記事  >  バックエンド開発  >  この複数条件検索コードで結果が見つからない理由を教えてください。

この複数条件検索コードで結果が見つからない理由を教えてください。

WBOY
WBOYオリジナル
2016-06-13 13:39:01751ブラウズ

この複数条件の検索コードで結果が見つからない理由を教えてください
データベースにはレコードがありますが、応答レコードをクエリすると、「データベース クエリに失敗しました!
データベースにレコードが存在しない可能性があります。」と表示されます。データベース」。教えてください。これは何ですか?何が問題ですか?

検索コード:


検索:





クエリコード:
$word = $_GET['word' ]; //キーワードを取得します。
$mode = $_GET['mode']; //検索メソッドを取得
if(!empty($word)) {
echo ' クエリ可能 ;
echo 'クエリしているキーワードは次のとおりです: "',$word,'"
';
$sql = "SELECT * FROM ".SqlTableName;
switch($mode )
{
case 'S_all': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."`
WHERE `Name` LIKE ' %$word%' OR `誕生日` LIKE '%$word%'
または `QQ` LIKE '%$word%' OR `モバイル` LIKE '%$word%'
または `メール` LIKE ' %$word%' OR `Address` LIKE '%$word%'";break;

case 'S_name': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName ."`
WHERE `Name` LIKE '%$word%'"; Break;
case 'S_birthday': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName." Birthday` LIKE '%$word%'"; Break;
case 'S_qq': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."`
WHERE `QQ` LIKE '%$word%'"; Break;
case 'S_mobile': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."`
WHERE `Mobile` LIKE ' %$word%'"; ブレーク;
case 'S_email': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."`
WHERE ` Email` LIKE '%$ word%'"; Break;
case 'S_address': $sql = 'SELECT * FROM `'.SqlDataBase.'`.`'.SqlTableName."`
WHERE `Address` LIKE '%$word% ''; Break;
デフォルト: $sql = "SELECT * FROM `".SqlTableName."`";
}
require('conn.php'); // conn.php ファイルを呼び出します。データベース操作を実行するには
$result = mysqli_query($conn,$sql) または die('データベース クエリが失敗しました!
データベースにレコードがない可能性があります'); // ここで SQL ステートメントを実行します
if($result)
{
echo $result;
}
}
else
{
echo '',$word ,' ';
}
?>


-----解決策-------------- --- ---$sql = 'SELECT * FROM `mycg`.`providers` WHERE `Address` LIKE '%$word%''
Change to
$sql = " SELECT * FROM `mycg`.`providers` WHERE `アドレス` LIKE '%$word%'"

------解決策------------------Change die('データベースクエリが失敗しました!< br />データベースにレコードがない可能性があります');
die("$sql
" . mysql_error());

こうすることで、次の場合になぜ間違っているかを知ることができます。エラーが発生します


スイッチの記述が乱雑すぎて正しいかどうかの確認が困難です


------解決策-----最初に $sql クエリステートメントを mysql ターミナルにエコーします。実行して正常に結果が返せるか確認してください。

------解決策----------------------

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。