我正在尝试转换我的 mysql 命令以适应 mysqli 的新标准,我将发布脚本,然后发布问题。我已经在数据库中创建了表。
配置.php:
$dbhost="databasehost";
$dbusername="username";
$dbpassword="password";
$dbname="databasename";
$connect = mysql_connect($dbhost, $dbusername, $dbpassword);
mysql_select_db($dbname,$connect) or die ("Could not connect to database");
?>
插入.php:
include("config.php");
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);
header("Location: add.htm");
// "1 record added";
}
else {
echo "no record added";
}
if (!mysql_query($sql,$connect))
{
die('Error: ' . mysql_error());
}
mysql_close($connect);
?>
视图.php:
<?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);
?>
- 首先,如何修改脚本以使用 mysqli 而不是 mysql?
- 其次,当使用上面的脚本时,当我从
表单中添加一些东西时,它总是添加重复的条目。我该如何防止呢? - 三、为了防止sql注入,我可以在代码中添加什么?我知道对于 php attach 我可以使用 "$firstname = trim(strip_tags(stripslashes($_POST['firstname'])));" 由于我正在清理输入,这是否也包括 sql 注入?