Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP从数据库中提取单词?_Php_Mysql_Sql - Fatal编程技术网

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

如何使用PHP从数据库中提取单词?,php,mysql,sql,Php,Mysql,Sql,这是获取用户输入的单词的PHP代码。如果用户在我的网站上输入的关键字“john”仅为“jhon”,而没有姓氏,那么如何显示“jhon dewey”的结果 我的数据库字段是: 名字(包含名字记录) 姓氏(包含姓氏记录) 这是我的密码。请帮我找出错误。我是否可以将%john%更改为变量,以便用户输入的任何单词都可以搜索到我的数据库 <?php // Database connection $sql = new mysqli("localhost", "root", "MYPassword"

这是获取用户输入的单词的PHP代码。如果用户在我的网站上输入的关键字“john”仅为“jhon”,而没有姓氏,那么如何显示“jhon dewey”的结果

我的数据库字段是:

名字
(包含名字记录)

姓氏
(包含姓氏记录)

这是我的密码。请帮我找出错误。我是否可以将%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>");
?>
  • 模式是字符串文字,因此它们必须用单引号包装
  • 其次,列名是标识符,所以它们不应该用单引号括起来,因为单引号用于字符串文本
片段:

$query = "SELECT * FROM `usage` WHERE first_name LIKE '%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);
$rows = array();
while ($row = $result->fetch_assoc()) {
    $rows[] = $row;
}
$result->close();
$sql->close();

print("<pre>");
print_r($rows);
print("</pre>");
?>
检查这个


谢谢,但有一个错误:注意:未定义变量:第25行C:\xampp\htdocs\capturer.php中的行谢谢您的帮助。我快明白了。但结果是:数组([0]=>Array([first\u name]=>john[last\u name]=>dewey))我如何删除“Array”和除[first\u name]=>john和[last\u name]=>dewey之外的其他字符?如果用户输入了一个关键字,但在我的数据库中找不到它,它将显示一个错误,否则如果找到匹配的单词,它将仅在第一个字段中显示包含匹配单词的两条记录。非常感谢。我可能误解了您的意思,但听起来您希望输出的结果与print\r的不同?print_r以“人类可读”的形式转储变量,可能对最终用户结果不太好。而是使用类似于ECHO之类的东西并引用行中的元素来控制输出的外观。如果只搜索第一个匹配项,请考虑将查询更改为“选择…限制1”,只返回最多一行。同时考虑删除while循环,如果你只想得到一个结果,似乎是多余的。谢谢,但是我的编程不好,这是我第一次用PHP。您介意我只为第一个字段选择“echo”标签吗?我将把这段代码链接到我的网站上的表格。非常感谢您并为我的帮助表示歉意。我已经做了很多天了,日夜都在搜索它。
<?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>");
?>