php codeigniter:sql语法错误`where username=$username`

cigdeys3  于 2021-06-24  发布在  Mysql
关注(0)|答案(3)|浏览(308)

我想补充一下 $username 进入mysql查询如下。但是查询失败,sql语法错误。

$username = $this->input->post('username');
$sql = "SELECT * FROM temp_user UNION SELECT * FROM member WHERE username = ".$username."";
$query = $this->db->query($sql);

这个查询有什么问题?
这是错误信息错误号:1064

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

SELECT * FROM temp_user UNION SELECT * FROM member WHERE username =

Filename: C:/xampp/htdocs/dex/system/database/DB_driver.php

Line Number: 691
i7uq4tfw

i7uq4tfw1#

sql语法错误可能是由以下部分引起的:

"... WHERE username = ".$username."";

你应该逃走 $username 就是这样

"... WHERE username = ".$this->db->escape($username);

哪里 $conn 是一个 mysqli 表示链接标识符的对象。

pgx2nnw8

pgx2nnw82#

像这样试试吧,不需要串接

$sql = "SELECT * FROM temp_user UNION SELECT * FROM member WHERE username = '$username'";
zpgglvta

zpgglvta3#

解决了的!!!因为我不能将星号(*)与并集一起使用
$sql=“select username from temp\u user where username='”..$username。“”union select username from member where username='”..$username“'”;

相关问题