PHP 和 SQL INSERT INTO 变量不起作用

PHP and SQL INSERT INTO with variables dont works

有人知道这段代码有什么问题吗?

$sql = "INSERT INTO quiz.fr_fragen (fr_id, fr_frage, a1, a2, a3, a4, fr_kategorie) 
VALUES ('$id', '$frage', '$a1', '$a2', '$a3', '$a4', '$kat');";

Table 名字 100% 正确。变量看起来像这样:

$id = 2002

$kat = 2

$frage = 1+1=

$a1 = 2

$a2 = 3

$a3 = 4

$a4 = 5

之前我从 csv 文件创建了一个数组。变量填写正确,我仔细检查了。

哇...

使用 sprintf() 自:

$sql = sprintf("INSERT INTO quiz.fr_fragen (fr_id, fr_frage, a1, a2, a3, a4, fr_kategorie) VALUES ('%d', '%s', '%s', '%s', '%s' , '%s', '%s')", $id,  $frage, $a1, $a2, $a3, $a4, $kat);

我建议了解此功能以及数据清理。

"" 之间还有一个符号 "{$variable1} and {$variable2}",比没有括号更可靠。

您可能确实在 table 中插入了 $id。其中 MySQL returns 出错,因为它必须是有效整数。

您应该查看准备好的语句。

$stmt = $conn->prepare("INSERT INTO quiz.fr_fragen (fr_id, fr_frage, a1, a2, a3, a4, fr_kategorie) VALUES (?, ?, ?, ?, ?, ?, ?)"); $stmt->bind_param($id, $frage, $a1, $a2, $a3, $a4, $kat);

或者您也可以像这样连接,但这不是最佳实践。

$sql = "INSERT INTO quiz.fr_fragen (fr_id, fr_frage, a1, a2, a3, a4, fr_kategorie) VALUES (" . $id . ", " . $frage . ", " . $a1 . ", " . $a2 . ", " . $a3 . ", ". $a4 . ", " . $kat . ");";

请查看我的代码

之后,如果您遇到任何问题,请点击下面的链接

1.php_mysql

2.mysql_query()

<?php
$sub = 101;
$mark = 85+5;

$host = 'localhost';
$db_user = 'root';
$db_password = '';
$db = 'quiz';

$con = mysql_connect($host,$db_user,$db_password);

if($con){
    if(!mysql_select_db($db)){
        echo "Database not found <br/>";
        die;
    }
}else{
    echo "DB Connect failed";
    die;
}

$sql = "INSERT INTO fr_fragen (sub, mark) VALUES ('$sub','$mark')";

echo $sql . '<br/>';

if(mysql_query($sql)){
    echo "Data insert successfully";
}else{
    echo "Error: " . mysql_error();
}

?>