0

これは、ユーザーが入力した単語を取得するための PHP コードです。ユーザーが私のウェブサイトでキーワード「john」を姓なしで「jhon」と入力した場合、「jhon dewey」の結果を表示する方法を尋ねてもよろしいですか?

私のデータベースフィールドは次のとおりです。

first_name(名のレコードが含まれています)

last_name(姓のレコードが含まれます)

これは私のコードです。エラーを見つけるのを手伝ってください。%john% を変数に変更して、ユーザーが入力した単語をデータベースで検索できるようにすることはできますか?

<?php

// Database connection

$sql = new mysqli("localhost", "root", "MYPassword", "test");
if (mysqli_connect_errno ()) {
    die(mysqli_connect_error());
    exit;
}


$query = "SELECT * FROM `usage` WHERE 'first_name' LIKE %john%";
$result = $sql->query($query);
if (!$result)
    die($mysqli->error);

while ($row = $result->fetch_assoc()) {
    $rows[] = $row;
}
$result->close();
$sql->close();

print("<pre>");
print_r($rows);
print("</pre>");
?>
4

2 に答える 2

0
  • パターンは文字列リテラルであるため、単一引用符で囲む必要があります。
  • 次に、列名は識別子であるため、一重引用符は文字列リテラル用であるため、一重引用符で囲むべきではありません。

スニペット:

$query = "SELECT * FROM `usage` WHERE `first_name` LIKE '%john%'"

列名は予約済みのキーワードではないため、この場合バッククォートはオプションです

$query = "SELECT * FROM `usage` WHERE first_name LIKE '%john%'"
于 2013-03-18T03:09:44.937 に答える
0

これをチェック

<?php

// Database connection

$sql = new mysqli("localhost", "root", "MYPassword", "test");
if (mysqli_connect_errno ()) {
    die(mysqli_connect_error());
    exit;
}


$query = "SELECT * FROM `usage` WHERE `first_name` LIKE '%john%'";
$result = $sql->query($query);
if (!$result)
    die($mysqli->error);
$rows = array();
while ($row = $result->fetch_assoc()) {
    $rows[] = $row;
}
$result->close();
$sql->close();

print("<pre>");
print_r($rows);
print("</pre>");
?>
于 2013-03-18T05:48:47.923 に答える