相关疑难解决方法(0)

如何在MySQL插入语句中包含PHP变量

我正在尝试在内容表中插入值.如果我在VALUES中没有PHP变量,它可以正常工作.当我将变量$type放在VALUES中时,这不起作用.我究竟做错了什么?

$type = 'testing';
mysql_query("INSERT INTO contents (type, reporter, description) 
     VALUES($type, 'john', 'whatever')");
Run Code Online (Sandbox Code Playgroud)

php mysql sql string variables

48
推荐指数
3
解决办法
31万
查看次数

逃离MySQL通配符

在我使用的旧服务器上,我无法使用预准备语句,我目前正在尝试完全转义用户输入,然后再将其发送到MySQL.为此我使用PHP函数mysql_real_escape_string.

由于这个函数没有逃脱MySQL通配符%和_我也用它addcslashes来逃避这些.

当我发送类似的东西:

test_test " ' 
Run Code Online (Sandbox Code Playgroud)

到数据库然后读回数据库显示:

test\_test " ' 
Run Code Online (Sandbox Code Playgroud)

看着这个我无法理解为什么_有一个前面的反斜杠但是'和'没有.因为它们全部用\ _确定_'并且"应该都显示相同,即所有都具有转义字符可见或一切都没有可见.

是否会自动筛选转义

有谁能解释一下?

php mysql escaping

38
推荐指数
2
解决办法
3万
查看次数

正确使用LIKE'%{$ var}%'和预准备语句的方法?[mysqli的]

这不起作用

$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';
Run Code Online (Sandbox Code Playgroud)

警告:mysqli_stmt :: bind_param():变量数与第1行/home/rgero/public_html/php/searchadmins.php中预准备语句中的参数数量不匹配

这个也不起作用

$sql = 'SELECT * FROM `users` WHERE username LIKE %{?}% ';
Run Code Online (Sandbox Code Playgroud)

致命错误:错误的SQL:SELECT*FROM usersWHERE用户名LIKE%{?}%错误:第1行/home/rgero/public_html/php/searchadmins.php中的0

我该怎么做?我正在尝试搜索在您输入表单时更新结果的玩家功能,例如谷歌在您输入时已经显示答案的方式.如果你输入dm,我需要输入用户名Admin,以便在包含"dm"的其他用户名中显示它.它也应该不区分大小写

php mysql sql mysqli

5
推荐指数
1
解决办法
8938
查看次数

标签 统计

mysql ×3

php ×3

sql ×2

escaping ×1

mysqli ×1

string ×1

variables ×1