出于某种原因,这只是没有插入我的数据库......
HTML
<form name="testimonials_form" method="post" action="insert/">
Name
<input type="text" name="from" maxlegnth="100" />
Location
<input type="text" name="where" maxlegnth="100" />
Text Snippet
<input type="text" name="text" maxlegnth="255">
<input type="submit" name="submit" value="Continue" />
</form>
PHP
<?php
$from = $_POST['from'];
$where = $_POST['where'];
$text = $_POST['text'];
if (!$from || !$where || !$text) {
$error = "You have missed some fields.";
$solution = "Please go back and <a href=\"javascript:history.go(-1)\" target=\"_self\">try again</a>.";
} else {
$data_array = array(':from' => $from, ':where' => $where, ':text' => $text);
$insert_testimonial = $connect->prepare("
INSERT INTO `testimonials` (
text, from, where
) VALUES (
:text, :from, :where
)
");
$insert_testimonial->execute($data_array);
$amount = $insert_testimonial->rowCount();
if ($amount < 1) {
$error = "Something went wrong.";
$solution = "Please go back and <a href=\"javascript:history.go(-1)\" target=\"_self\">try again</a>.";
} else {
header ("Location: ../");
}
}
?>
我不断回头的是我的自定义错误“出了问题。”因此,没有500错误(内部服务器错误),如果我回显$ from,$ where和$ text它显示我在表单中键入的内容,我已经重写了大约5次,以防我写错了或者其他什么但是仍然没有运气。我知道没有符号丢失或错误的地方,因为它会返回500错误。
有没有人知道它有什么用呢?我已经无数次写过这样的代码了,但这似乎没有用,所以我一定要错过一些东西。
答案 0 :(得分:1)
from, where
您的查询中的需要
`from`, `where`
因为from
和where
是MySQL中的保留字:
http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
顺便提一下,这些都是反击。 IMO,你最好不要将这些单词用作列名,但如果你这样做,你通常需要使用反引号。