Php 试图在MySQL语法中重复字符串,出现语法错误

Php 试图在MySQL语法中重复字符串,出现语法错误,php,mysql,Php,Mysql,我的语法有一个小问题,我正试图完成一个项目,我有一个小问题 <?php include('includes/db_credentials.php'); // connection $conn = new mysqli($servername, $username, $password, $dbname); // connection chck if ($conn->connect_error) { die("Connection failed: " . $conn->

我的语法有一个小问题,我正试图完成一个项目,我有一个小问题

<?php
include('includes/db_credentials.php');

// connection
$conn = new mysqli($servername, $username, $password, $dbname);

// connection chck
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Check strings for strings
$primary_name = mysqli_real_escape_string($conn, $_POST['primary_name']);
$primary_mobile = mysqli_real_escape_string($conn, $_POST['primary_mobile']);
$primary_country = mysqli_real_escape_string($conn, $_POST['primary_country']);
$primary_state = mysqli_real_escape_string($conn, $_POST['primary_state']);



$rand = rand(1,999999999);
$times = 2;
$rpt =  str_repeat("('$primary_name', '$primary_mobile', '$primary_country', '$primary_state', '$rand;'), ", $times);




$sql = "INSERT INTO cards (primary_name, primary_mobile, primary_country, primary_state, card_code)
VALUES $rpt";




if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
    $id = mysqli_insert_id();
    echo $id;
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}






$conn->close();
?> 

您的值后面有一个额外的逗号。我建议你做一个实验,然后再做


在值后面有一个额外的逗号。我建议你做一个实验,然后再做


您可能遇到了这样一个问题:当不需要逗号时,最后一次重复插入的末尾也有一个逗号。在$rand后面还有一个分号(应该在那里吗?)

快速修复 我已经去掉了字符串末尾的空格,然后我只修剪最后一个字符串中的最后一个逗号。这使您的代码几乎相同

$rpt = str_repeat("('$primary_name', '$primary_mobile', '$primary_country', '$primary_state', '$rand;'),",$times);
$rpt = rtrim($rpt,",");

您可能遇到了这样一个问题:当不需要逗号时,最后一次重复插入的末尾也有一个逗号。在$rand后面还有一个分号(应该在那里吗?)

快速修复 我已经去掉了字符串末尾的空格,然后我只修剪最后一个字符串中的最后一个逗号。这使您的代码几乎相同

$rpt = str_repeat("('$primary_name', '$primary_mobile', '$primary_country', '$primary_state', '$rand;'),",$times);
$rpt = rtrim($rpt,",");

请参见查询末尾的尾随逗号?摆脱它。你的陈述结尾有一个逗号。rtrim($sql,“,”)是否在查询末尾看到尾随的逗号?摆脱它。你的陈述结尾有一个逗号。rtrim($sql,“,”)感谢您的快速回复,这似乎非常有效。我投了赞成票。谢谢你的快速回复,这似乎很有效。我投了赞成票。愚蠢的我,我现在看到了问题,重复中最后一个逗号,谢谢你指出。愚蠢的我,我现在看到问题,重复中最后一个逗号,谢谢你指出。