如何使用PHP从数据库中获取单词?

时间:2013-03-18 03:07:55

标签: php mysql sql

这是用于获取用户输入的单词的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>");
?>

2 个答案:

答案 0 :(得分:0)

  • 模式是字符串文字,因此必须用单引号括起来。
  • 其次,列名是标识符,所以它们不应该用单引号换行,因为单引号用于字符串文字。

段:

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

由于您的列名不是保留关键字,因此在这种情况下反引号是可选的

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

答案 1 :(得分: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>");
?>