[英]PHP MySql INSERT INTO - Syntax Error
嘗試創建一個簡單的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);
謝謝你的協助!
嘗試這個:
$sql="INSERT INTO xActivate (EMAIL_ADDRESS, ACTIVATION_CODE) VALUES ('$email', '$acticode')";
將值用引號引起來:
$sql="INSERT INTO xActivate (EMAIL_ADDRESS, ACTIVATION_CODE) VALUES ('$email', '$acticode')";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.