【发布时间】:2017-11-01 06:15:44
【问题描述】:
我对 php 相当陌生,对于我的数据库类,我们需要使用 php 表单插入数据。如果有帮助,我正在使用 MySQL 工作台、MAMP 和 phpmyadmin。我的问题是,如何让表单与下面附加的 php 脚本进行交互。如何获取分配给 $value 的标题框中的值、对 $value2 的评分等。这些是我服务器中的两个单独文件,当我转到索引并选择我的 php 脚本时,它返回 500 错误,所以暂时不行。
我已确保数据库名称以及用户名和密码正确。 附上的图片是我的电影表,带有列标题
<?php
define('DB_NAME', 'movie_database');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost:3036');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
$value = $_POST['title'];
$value2 = $_POST['rating'];
$value3 = $_POST['Runtime'];
$value4 = $_POST['movie_rating'];
$value5 = $_POST['release_date'];
$sql = "INSERT INTO movies (title, rating, Runtime, movie_rating,
release_date) VALUES ('$value', '$value2', '$value3','$value4','$value5')";
echo "Inserted correctly!"
if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
mysql_close();
?>
这只是使文本框:
<form action="form1.php" method="post"/>
<p>Enter Movie Title: <input type="text" name="title"/></p>
<p>Enter Movie Rating(G,PG,PG-13,R): <input type="text" name="rating"/></p>
<p>Enter Movie Runtime in minutes: <input type="text" name="Runtime"/></p>
<p>Enter IMDB Movie Rating(0-10.0): <input type="text" name="movie_rating"/></p>
<p>Enter Movie Release date(YYYY-MM-DD): <input type="text" name="release_date"/></p>
<input type="submit" value="Submit"/>
</form>
编辑:刚刚发现 MAMP 有错误日志。查看 phperror 日志显示:PHP 致命错误:未捕获的错误:调用 E:\MAMP\MAMP\htdocs\forms.php:8 中未定义的函数 mysql_connect() 堆栈跟踪:
0 {主}
在第 8 行的 E:\MAMP\MAMP\htdocs\forms.php 中抛出
【问题讨论】:
-
提示:使用 MAMP,您可以转到
/Applications/MAMP/logs并检查apache_error.log和php_error.log。看起来您的$values很可能没有正确输入到字符串中 -
不知道 MAMP 有这个,谢谢。我在 phperror 日志中发现了以下错误。 PHP 解析错误:语法错误,意外的 'if' (T_IF),期待 ',' 或 ';'在 E:\MAMP\MAMP\htdocs\forms.php 第 29 行
-
这有帮助 - 我刚刚发现语法错误 -
echo "Inserted correctly!"你错过了结束;。哪个最有可能导致您的 500 错误! -
修复了这个问题,现在这个错误显示:PHP 致命错误:未捕获的错误:调用 E:\MAMP\MAMP\htdocs\forms.php:8 中未定义的函数 mysql_connect() 堆栈跟踪:#0 {main} 在第 8 行的 E:\MAMP\MAMP\htdocs\forms.php 中抛出
-
安装的是哪个php版本?