PHP MySql插入-语法错误

PHP MySql插入-语法错误,php,mysql,syntax,insert,Php,Mysql,Syntax,Insert,尝试创建一个简单的PHP MySql插入表单,该表单插入电子邮件地址和随机十位数代码,并不断返回: 请检查电子邮件错误:您的SQL语法有错误;检查 右边是与MySQL服务器版本对应的手册 第1行使用“NcB44PeYbI”附近的语法 NcB44PeYbI显然是生成的随机码 function generateRandomString($length = 10) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL

尝试创建一个简单的PHP MySql插入表单,该表单插入电子邮件地址和随机十位数代码,并不断返回:

请检查电子邮件错误:您的SQL语法有错误;检查 右边是与MySQL服务器版本对应的手册 第1行使用“NcB44PeYbI”附近的语法

NcB44PeYbI显然是生成的随机码

function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $randomString;
}

$con=mysqli_connect("localhost","username","password","dbname");
// Check connection
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// escape variables for security
$email = mysqli_real_escape_string($_POST['email']);
$acticode = generateRandomString();



$sql="INSERT INTO xActivate (EMAIL_ADDRESS, ACTIVATION_CODE) VALUES ($email, $acticode)";

if (!mysqli_query($con,$sql))
{
  die('Error: ' . mysqli_error($con));
}
echo "1 record added";

mysqli_close($con);
function generateRandomString($length=10){
$characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz';
$randomString='';
对于($i=0;$i<$length;$i++){
$randomString.=$characters[rand(0,strlen($characters)-1)];
}
返回$randomString;
}
$con=mysqli_connect(“本地主机”、“用户名”、“密码”、“数据库名”);
//检查连接
if(mysqli\u connect\u errno())
{
echo“未能连接到MySQL:”.mysqli_connect_error();
}
//安全性的转义变量
$email=mysqli\u real\u escape\u字符串($\u POST['email']);
$acticode=generateRandomString();
$sql=“插入xActivate(电子邮件地址、激活码)值($EMAIL、$acticode)”;
如果(!mysqli_query($con,$sql))
{
die('Error:'.mysqli_Error($con));
}
echo“添加1条记录”;
mysqli_close($con);
谢谢你的帮助

试试这个:


$sql=“插入xActivate(电子邮件地址、激活码)值(“$EMAIL”,“$acticode”)”

将值放在引号中:

$sql="INSERT INTO xActivate (EMAIL_ADDRESS, ACTIVATION_CODE) VALUES ('$email', '$acticode')";

没问题,很高兴我能帮忙。