使用php变量

时间:2018-11-26 05:42:57

标签: php sql mysqli

在表名中使用php变量时,SQL INSERT INTO的正确语法是什么?我已经尝试了所有方法,当我使用php变量时,它不会插入。

这是我到目前为止的内容。这样对吗?

$sql = "INSERT INTO ".$table." (`Name`) VALUES ('A')";
mysqli_query($conn, $sql);

如果我将$table切换为实际的表名,它会 ks

$sql = "INSERT INTO 'myTable' ('Name') Values ('A')";

2 个答案:

答案 0 :(得分:0)

对我来说很好

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "stack_over_flow";
$con = new mysqli($servername, $username, $password, $dbname);

if ($con->connect_error) {
    die("Connection failed: " . $con->connect_error);
}
else
{
    //echo ("Connect Successfully");
}

表名称为变量时

$DB_TBLName = "abc"; 
$sql_ac_valuee    = "INSERT INTO $DB_TBLName (a, b ,c) VALUES "."('10','20','30')"; 
if ($con->query($sql_ac_valuee) === TRUE) {
}
else{
    echo "Error: " . $sql_ac_valuee . "<br>" . $con->error;
}

使用直接表名时

$sql_ac_valuee    = "INSERT INTO abc (a, b ,c) VALUES "."('10','20','30')"; 
if ($con->query($sql_ac_valuee) === TRUE) {
}
else{
    echo "Error: " . $sql_ac_valuee . "<br>" . $con->error;
}

答案 1 :(得分:0)

$query = "INSERT INTO $tname (place,dis,p_1,p_2,p_3,p_4,p_5,p_6) VALUES('$name','$discription','$bfile','$file1','$file2','$file3','$file4','$file5')"; 
$result =mysqli_query($link,$query); 
if(!$result){echo mysqli_error($link);?>

这是我的代码,输出为:

  

Skardu。您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法以在'(place,dis,p_1,p_2,p_3,p_4,p_5,p_6)VALUES('Sundus','很少有人买得起T'附近使用第1行

当我使用skardu而不是varible时,它工作正常