php - 使用 PHP 在 MySql 数据库中插入数据时遇到问题

标签 php mysql database

这只是一个测试页面,以确保我知道如何将数据插入数据库。

这是我的登录页面:

<?php 

$mysql_host = "[HOST REMOVED]";
$mysql_database = "a8700070_test";
$mysql_user = "a8700070_admin";
$mysql_password = "[PASSWORD REMOVED]";
?>

这是我的表单代码。

<form action="db.php" method="post">

<input name="name" type="text">
<input name="age" type="text">
<input name="title" type="text">
<input name="person" type="text">
<input name="ok" type="text">
<input name="GO!" type="submit"> 



</form>

这是我将其插入表格的代码。

<?php // 
require_once 'login.php';
$db_server= mysql_connect($mysql_host, $mysql_user, $mysql_password);

if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());

mysql_select_db($mysql_database)  or die("Unable to select database: " . mysql_error());

$namer = $_POST["name"];
$age = $_POST["age"];
$tit = $_POST["title"];
$k = $_POST["ok"];
$pers = $_POST["person"];

echo "$namer";

$sql="INSERT INTO test (title,person,age,date,ok)
VALUES($namer,$age,$tit,$k,$pers)"



?>

最佳答案

您需要使用 mysql_query 实际调用您的查询像这样:

mysql_query($sql);

您还应该记住对您的输入进行转义,以确保用户不会使用 SQL injection 滥用它.

您的查询应如下所示:

$sql = "INSERT INTO test (title,person,age,date,ok) VALUES('".mysql_real_escape_string($namer)."','".mysql_real_escape_string($age)."','".mysql_real_escape_string($tit)."','".mysql_real_escape_string($k)."','".mysql_real_escape_string($pers)."')";

如果遇到错误,可以使用 mysql_error 打印实际错误像这样:

mysql_query($sql) or die(mysql_error());

关于php - 使用 PHP 在 MySql 数据库中插入数据时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8231867/

相关文章:

php - 如何检查 namespace 中是否存在类?

php - 将索引数组转换为键匹配的单独数组

mysql - 如何插入和更新带有汉字的查询

mysql - SQL语句优化: Why the command runs slow?

node.js - OpenCV - 将图像保存在 DB Nodejs 中

php - 从具有未知数量值的数组创建 PHP 嵌套数组

php - Laravel - 使用什么作为 session ID?

mysql - UNIX_TIMESTAMP 字段分区一整年

php - Laravel with() 仅适用于第一条记录(仅适用于 id 1 的记录)

php - SQL 查询只检索一行