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 . ");";
请查看我的代码
之后,如果您遇到任何问题,请点击下面的链接
<?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();
}
?>
有人知道这段代码有什么问题吗?
$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 . ");";
请查看我的代码
之后,如果您遇到任何问题,请点击下面的链接
<?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();
}
?>