0

我对 MySQL 查询有如下问题:

我的脚本将此作为示例查询生成:

INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('Test2', '123-456-7890', 'test@test.com', 'mesa', 'az', '04-14-2013')

如果我直接进入 PHPMyA,效果很好。但是,我试图用来从我的网站发送查询的 PHP 脚本不起作用,我无法弄清楚。这里是:

$sql = "INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('$name', '$phone', '$email', '$city', '$state', '$date')";

mysql_query($sql);

$result = mysql_query($sql);

if($result)
{
    echo("<br>Data Input OK");
} 
else
{
   echo("<br>Data Input Failed");
}

没有任何东西进入 MySQL DB,也没有显示 PHP 错误,但是,如果我回显,$sql我会得到我之前发布的确切查询。

4

8 回答 8

1

只需删除代码中的单行mysql_query($sql);就可以了。但是您最好开始练习 PHP MySQLi ,它代表PHP MySQL Improvement,例如:

$con = mysqli_connect($host, $user, $password, $password);

$sql = "INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('$name', '$phone', '$email', '$city', '$state', '$date')";

$result = mysqli_query($con, $sql);

if($result) {
    echo("<br>Data Input OK");
} else {
    echo("<br>Data Input Failed");
}
于 2013-04-14T14:37:10.723 回答
1
$sql = 'INSERT INTO Table_name (`id`, `name`) VALUES ("1", "php");
于 2014-02-15T12:26:25.490 回答
0

您在脚本中执行$sql了两次导致错误,请删除

mysql_query($sql);

它已经准备好了

我还建议停止使用mysql_query请切换到mysqliPDO

于 2013-04-14T13:39:58.890 回答
0

您正在运行 mysql_query 两次。错误的原因。尝试运行以下代码。

$sql = "INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('$name', '$phone', '$email', '$city', '$state', '$date')";

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

if($result){
    echo("<br>Data Input OK");
} else{
    echo("<br>Data Input Failed");
}
于 2013-04-14T13:31:55.217 回答
0

你确定有一个有效的连接(..mysql_connect())吗?尝试使用像这样的完整语法..

$conn = mysql_connect(...);
$result = mysql_query($query, $conn);

还可以在执行语句后尝试强制提交 -

$mysql_query("COMMIT", $conn);
于 2013-04-14T13:44:17.247 回答
0

尝试使用mysql_query($sql,$con);而不是mysql_query($sql);.

于 2013-04-14T14:42:31.000 回答
0

用这个

"INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('$_POST[name]', '$_POST[phone]', '$_POST[email]', '$_POST[city]', '$_POST[state]', '$_POST[date]')";
于 2013-04-15T09:12:15.343 回答
0
if(isset($_POST['submit']))
{
   $name=$_POST['name'];
   $age=$_POST['age'];
   $address=$_POST['address'];

   $ins="insert into table_name(`name`,`age`,`address`)values('".$name."','".$age."','".$address."')";
   mysql_query($ins);
   echo 'data inserted successfully';
} 
于 2014-02-04T12:11:08.557 回答