将数据插入mysql表

时间:2012-11-15 15:17:51

标签: php mysql

我刚刚安装了xampp但是我在将数据插入MySQL表时遇到问题。 我插入的数据没有出现在phpmyadmin中。我不确定是什么问题。

任何帮助将不胜感激,这是我的代码:

<html>
<head>
<title>Test</title>
<body>
<form action="test.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit"name="submit" value="submit"/>
</form>

<?php 
$host ="localhost";
$username = "***";
$password = "***";
$database = "***";
$table ="persons";
$con = mysql_connect("localhost","***","***");
if (!$con)
{
 die('Could not connect: ' . mysql_error());
}
 mysql_select_db("bucksbug_mesovot", $con);

 $sql="INSERT INTO persons (firstname, lastname, age)
 VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

  if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
   echo "Data inserted";

   mysql_close($con);

  ?>
  </body>
  </html>

1 个答案:

答案 0 :(得分:2)

虽然您应该切换到PDO / mysqli并使用绑定参数准备语句以避免sql注入并在您的变量包含引号时破坏sql语句,但您可能会遇到PDO / mysqli的问题:您的密码(更改它!)包含$

请参阅codepad上的以下示例:

<?php

function test($var)
{
  echo $var;
}

$test_var = "test$string";

test($test_var);

输出:

test

您将无法成功连接到数据库,因为您的密码永远不会正确。

变化:

"=c(p$zTTH2Jm"

为:

'=c(p$zTTH2Jm'