我正在尝试查询我的MySQL数据库以获取有关用户的信息。您在上一页上提交表单,然后进入页面并连接到数据库和所有好东西。我只是对查询的SELECT函数的语法有一个快速的问题。我试图说“从tbl_name中选择字段名字与字段姓氏连接(中间有空格)等于变量$ user。
我想用PHP我需要在引号前加斜杠。它似乎没有返回任何值。我只是使用了错误的语法吗?
$user=$mysqli->real_escape_string($_POST['user']);
$sql="SELECT * FROM tbl_name WHERE firstname.\" \".lastname='$user'";
答案 0 :(得分:1)
我认为这就是你要找的东西?
$sql = 'SELECT * FROM '.$tbl_name .' WHERE CONCAT(firstname," ",lastname )='.$user.' ';
答案 1 :(得分:1)
您必须在CONCAT()
子句中使用SQL的WHERE
将firstname
和lastname
列加在一起:
SELECT
*
FROM
tbl_name
WHERE
CONCAT(firstname. ' ', lastname) = ?
使用PHP中的现有代码(用于复制+粘贴):
$sql = "SELECT * FROM tbl_name WHERE CONCAT(firstname, ' ', lastname) = '" . $user . "'";
*另外值得注意的是:既然你正在使用MySQL,你可以合法地在查询中使用单引号和/或双引号作为字符串(T-SQL绑定到字符串的单引号)。因此,如果您在PHP中使用双引号包装整个查询,则可以在SQL查询中使用单引号,而不必转义双引号。这更像是一个程序员偏好的提示,但有一天可能会为你节省报价 - 逃避头痛= P