PHP / HTML表格向MySQL提供空白条目

时间:2014-05-10 05:41:43

标签: php html mysql sql database

我在这里是一个PHP / MySQL Greenback,我遇到了一个简单形式的问题,我试图通过PHP提供给MySQL数据库,这样可以保留空白条目。

表单是实时的,连接并提供给数据库,但每当我提交一个条目时,我的确认回显它是Connected successfullyINSERT INTO db_name.events (eventname, eventprice, eventabout) VALUES ('', '', '') Works!,即使这些值填充在HTML表单中。然后,当我通过PHPmyadmin登录并检查MySQL数据库时,我可以看到它确实在表中创建了一个新行,但它是空白的。

我花了几个小时逐行梳理语法,似乎找不到任何不合适的地方,我现在已经添加了一堆故障排除步骤来尝试解决它。​​

非常感谢任何帮助!

HTML表单如下:

<form method="post" action="eventtestconnect.php"><table style="border: 0; margin-left: auto; margin-right:auto;text-align: left">
      <tr>
        <td>Event Name:</td>
        <td><input name="name"></td>
      </tr> 
      <tr>
        <td>Event Price:</td>
        <td><input name="price"></td>
      </tr>
      <tr>
        <td>Event Description:</td>
        <td><textarea name="description" cols="40" rows="5">
        </textarea></td>
      </tr>
   </table>
    <br><br>
    <input type="submit" value="Submit">
  </form>

连接到此表单的PHP文件是:

<?php

// connect to database
$dbhost = '111.111.11.111';
$dbuser = 'db_name';
$dbpass = 'pwpwpw';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';

//select database
mysql_select_db("db_name", $conn);
if ($_POST)
{

// scrub inputs
$name = mysql_real_escape_string($conn, $_POST['name']); 
$price = mysql_real_escape_string($conn, $_POST['price']);
$description = mysql_real_escape_string($conn, $_POST['description']);

// prepare query
$sql = "INSERT INTO db_name.events (eventname, eventprice, eventabout)
 VALUES ('$name', '$price', '$description')"; 

// execute query
mysql_query($sql);

// close connection
mysql_close($conn);
echo $sql;
}
?>

在此先感谢您的帮助,我一直在浏览这些论坛,获取帮助和提示。看起来像一个伟大的社区!

1 个答案:

答案 0 :(得分:2)

您以错误的顺序将参数传递给mysql_real_escape_string。它应该是:

$name = mysql_real_escape_string($_POST['name'], $conn);