-2

我需要这个简单的 PHP/MySQL 表单提交的帮助。以下是我得到的代码和错误。PHP 脚本一切正常。似乎 Mysql 数据库连接给我带来了问题。

   mysql_connect("localhost","root","admin");//database connection
   mysql_select_db("employees");

   //inserting data order
   $order = "INSERT INTO data_employees (name, address)
        VALUES ('$name','$address')";

   //declare in the order variable
   $result = mysql_query($order);   //order executes

   if($result)
   {
      echo("<br>Input data is succeed");

   }   else{
       echo("<br>Input data is fail");
   }

以下是我收到的错误消息:解析错误:语法错误,意外的“?” 在第 12 行的 C:\xampp\htdocs\Input.php 中

填写表单详细信息并提交后,有时我会收到错误消息“警告:mysql_connect():C:\xampp\htdocs\form_input.php 中的用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)在第 4 行。”

“注意:未定义的变量:C:\xampp\htdocs\form_input.php 第 11 行的名称和地址输入数据失败”。

您的解决方案,帮助表示赞赏。谢谢你

4

3 回答 3

0

你的问题在这里

$order = "INSERT INTO data_employees (name, address)
    VALUES ('$name','$address')";

你还没有定义

$name and $address variables.

请定义它们。

于 2013-04-22T08:13:58.613 回答
0

查看您的 MySQL 错误

警告:mysql_connect():第 4 行 C:\xampp\htdocs\form_input.php 中的用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)

这只是指您访问数据库的用户名/密码组合错误。

还注意到您关于变量的其他错误

注意:未定义的变量:第 11 行 C:\xampp\htdocs\form_input.php 中的名称和地址

这是指该变量尚未声明。如果这些是您的表单发布的内容,最好使用 $_POST 超全局变量,而不是让 PHP 配置允许将 POST 数据设置为普通变量(即 $_POST["name"] vs $name)。这为命名变量提供了更大的灵活性,因为您不会在 PHP 代码中的发布值和普通变量之间发生冲突。

对于您提到的解析错误,查看代码的“Input.php”也会很有用。

有用的链接:

$_POST 上的 PHP 文档

mysql_connect 函数的 PHP 文档

于 2013-04-22T08:21:13.363 回答
0

对于解析错误

在两种情况下更改您的 echo 语句如下:

echo "<br>Input data is succeed" ;

注意:未定义的变量:名称和地址从消息中非常清楚。

$name&$address没有在任何地方定义。

可能是您想从请求中获取它。

$name = $_REQUEST['name']; //Name of element in the form
$address = $_REQUEST['address'];

mysql_connect():拒绝用户访问

检查您的连接字符串是否包含正确的username& password


注意: 请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-04-22T08:11:04.527 回答