この複数条件検索コードで結果が見つからない理由を教えてください。
Jun 13, 2016 pm 01:39 PM
この複数条件の検索コードで結果が見つからない理由を教えてください
データベースにはレコードがありますが、応答レコードをクエリすると、「データベース クエリに失敗しました!<br/> データベースにレコードが存在しない可能性があります。」と表示されます。データベース」。教えてください。これは何ですか?何が問題ですか?
検索コード:
<form id="form1" name="form1" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
検索:
<label>
<select name="mode" id="S_mode">
<option value="S_all" selected="selected">すべて</option>
<option value="S_name">サプライヤー</option>
<option value="S_birthday">誕生日</option>
<option value=" S_qq">QQ</option>
<option value="S_mobile">携帯電話</option>
<option value="S_email">メールボックス</option> ;
< ;option value="S_address">アドレス</option>
</select>
</label>
<label>
<input name ="word" type= "text" id="S_word" />
</label>
<label>
<input type="submit" name="Submit" value= "検索" />
</label>
</form>
クエリコード:
<?php
$word = $_GET['word' ]; //キーワードを取得します。
$mode = $_GET['mode']; //検索メソッドを取得
if(!empty($word)) {
echo '<title> クエリ可能 </title> ;
echo 'クエリしているキーワードは次のとおりです: "',$word,'"<br/>';
$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('データベース クエリが失敗しました!<br/>データベースにレコードがない可能性があります'); // ここで SQL ステートメントを実行します
if($result)
{
echo $result;
}
}
else
{
echo '<title>',$word ,' </title>';
}
?>
-----解決策-------------- --- ---$sql = 'SELECT * FROM `mycg`.`providers` WHERE `Address` LIKE '%$word%''
Change to
$sql = " SELECT * FROM `mycg`.`providers` WHERE `アドレス` LIKE '%$word%'"
------解決策------------------Change die('データベースクエリが失敗しました!< br />データベースにレコードがない可能性があります');
die("$sql<br>" . mysql_error());
こうすることで、次の場合になぜ間違っているかを知ることができます。エラーが発生します
スイッチの記述が乱雑すぎて正しいかどうかの確認が困難です
------解決策-----最初に $sql クエリステートメントを mysql ターミナルにエコーします。実行して正常に結果が返せるか確認してください。
------解決策----------------------

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









