如何将这些来自PHP的字符串数据插入MySQL表中,我可以运行代码,但不能插入数据库。
php代码:
<?php
//mysql connection
$connect_error = 'Sorry, the database server is down. Please try again later.';
mysql_connect('xxxxxxxxx.com', 'xxxxxxx', 'xxxxxxxxx') or die($connect_error);
mysql_select_db('checkbox_test') or die($connect_error);
if (isset($_POST['submit'])) {
if (isset($_POST['subject'])) {
$strsubject = implode(",", ($_POST['subject']));
} else {
$strsubject = "";
}
echo $strsubject;
}
mysql_query("INSERT INTO levels (level_1, level_2, level_3, level_4, level_5, level_6) VALUES ($strsubject");
?>
html:
<form action="" method="post" name="form_subject" id="form_subject">
<input type="checkbox" name="subject[]" value="level_1"><label>Level 1</label><p>
<input type="checkbox" name="subject[]" value="level_2"></label>Level 2</label><p>
<input type="checkbox" name="subject[]" value="level_3"></label>Level 3</label><p>
<input type="checkbox" name="subject[]" value="level_4"><label>Level 4</label><p>
<input type="checkbox" name="subject[]" value="level_5"></label>Level 5</label><p>
<input type="checkbox" name="subject[]" value="level_6"></label>Level 6</label><p>
<input type="submit" action= "" name="submit" value="Submit" />
</form>
数据库表有7列,其中1列表示id(设置为A_I),其余列为每个级别的名称。我是网络开发的新手,谢谢大家
INSERT
语句中缺少一个右括号,正好位于$strsubject
之后和"
:之前
mysql_query("INSERT INTO levels (level_1, level_2, level_3, level_4, level_5, level_6)
VALUES ($strsubject")
这可能不是唯一的问题。
- 在PHP中,就像在JS、C++和Java中一样,不会简单地将一个变量放入另一个变量中。使用右连接字符
.
:
$what = "lazr!";
$variable1 = "firin " . $what;
$sql = "....SET column1='" . $data1 . "')";
不要使用
mysql_*
函数。在PDO中使用准备好的声明:http://php.net/manual/de/pdo.prepare.php
<?php
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
$strsubject = implode(",", ($_POST['subject']));
应为:
$strsubject = "'" . implode("', '", ($_POST['subject'])) . "'";