config.php是具有连接代码的全局文件。
我的UPDATED Insert.php代码是:
<?php
include("config.php");
if ($submit) {
if (isset($_POST[firstname]) && isset($_POST[lastname]) && isset($_POST[age])) {
$sql = "INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
mysql_query($sql, $connect);
echo "1 record added";
}
else {
// do nothing now
}
}
else {
?>
<form action="<?php echo $PHP_SELF ?>" method="post">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="lastname">
Age: <input type="text" name="age">
<input type="submit">
</form>
<?php
}
//if (!mysql_query($sql,$connect))
//{
//die('Error: ' . mysql_error());
//}
mysql_close($connect);
?>
我的View.php代码是:
<?php
include("config.php");
$sql = mysql_query("SELECT * FROM Persons");
while($results = mysql_fetch_array($sql)) {
echo $results['FirstName'] . ', ' . $results['LastName'] . ', ' . $results['Age'] . '<br/>';
}
if (!mysql_query($sql,$connect))
{
die('Error: ' . mysql_error());
}
mysql_close($connect);
?>
我的Config.php代码是:
<?php
$dbhost="MYWEBHOST";
$dbusername="MYUSERNAME";
$dbpassword="MYPASSWORD";
$dbname="MYDATABASE";
$connect = mysql_connect($dbhost, $dbusername, $dbpassword);
mysql_select_db($dbname,$connect) or die ("Could not connect to database");
?>
执行Insert.php并收到“1 Record Added消息”后,当我转到View.php时,出现以下错误:“错误:您的SQL语法有错误;请查看手册对应于您的MySQL服务器版本,以便在第1行“资源ID#4”附近使用正确的语法“
我做错了什么?
另外,我如何阻止用户刷新Insert.php页面,该页面不断向表中添加空值?
答案 0 :(得分:1)
您只将SQL语句分配给变量,但从不执行它。试试这个:
$sql = "INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
mysql_query($sql);
echo "1 record added";
有一些不同的方法可以阻止人们重新加载你的insert.php。一般来说,你的insert.php需要决定当前是否允许用户调用它。在现代php开发中,我们不再使用单个.php文件来处理给定任务,而是使用路由和框架。
答案 1 :(得分:1)
试试这个
<?php
include("config.php");
$sql = mysql_query("SELECT * FROM Persons");
if ($sql) {
while($results = mysql_fetch_array($sql)) {
echo $results['FirstName'] . ', ' . $results['LastName'] . ', ' . $results['Age'] . '<br/>';
}
} else {
die('Error: ' . mysql_error());
}
mysql_close($connect);
?>