Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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中,如何使用@In进行SQL查询?_Php_Sql_Mysqli - Fatal编程技术网

在PHP中,如何使用@In进行SQL查询?

在PHP中,如何使用@In进行SQL查询?,php,sql,mysqli,Php,Sql,Mysqli,我有问题。在我的数据库中,我有一列电子邮件。进行SQL查询时,出现以下错误: 您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行“@gmail.com”附近使用的正确语法 这是我的代码: $sql = "SELECT ID_Dijak from dijak WHERE (Email=".$mejl.")"; 如果我尝试在php我的管理员中执行查询,如果我在电子邮件之间放置“”,它就会工作,但是如何在php中执行呢?谢谢。很抱歉我之前犯了一个错误。。。我用这种方法

我有问题。在我的数据库中,我有一列
电子邮件
。进行SQL查询时,出现以下错误:

您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行“@gmail.com”附近使用的正确语法

这是我的代码:

$sql = "SELECT ID_Dijak from dijak  WHERE (Email=".$mejl.")";

如果我尝试在php我的管理员中执行查询,如果我在电子邮件之间放置“”,它就会工作,但是如何在php中执行呢?谢谢。

很抱歉我之前犯了一个错误。。。我用这种方法进行了测试,现在应该可以了


$sql='从Dijak中选择ID_Dijak,其中(Email=“.$mejl.”)

将数据类型varchar()用于电子邮件

我建议在PHP中使用预先准备好的语句,以防止注入攻击

$stmt = $dbc->prepare("SELECT ID_Dijak from dijak WHERE Email=?");
$stmt->bind_param("s", $mejl);
$stmt->execute();

如果您使用正确的参数而不是使用查询字符串,则不会出现意外的语法错误。
quotes
将有帮助。将电子邮件值括在引号中;)不工作,错误:您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以了解在“@gmail.com.%”附近使用的正确语法在第1行,变量$mejl的值是多少?电子邮件地址,example@gmail.comI将更改我的“仍然不工作”:where子句中的未知列“$mejl”设置为varchar。