PHP Mysql查询(INSERT)问题

时间:2013-04-14 13:29:36

标签: php mysql insert insert-into

我遇到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数据库并且没有显示PHP错误,但是,如果我回显$sql我得到了我之前发布的确切查询。

8 个答案:

答案 0 :(得分:1)

只需删除代码中的单行mysql_query($sql);即可。但您应该更好地开始练习PHP MySQLi代表 PHP MySQL改进,例如:

$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");
}

答案 1 :(得分:1)

$sql = 'INSERT INTO Table_name (`id`, `name`) VALUES ("1", "php");

答案 2 :(得分: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");
}

答案 3 :(得分:0)

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

mysql_query($sql);

它准备好了

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

答案 4 :(得分:0)

您确定存在有效连接(..mysql_connect())吗?尝试使用完整的语法,如此..

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

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

$mysql_query("COMMIT", $conn);

答案 5 :(得分:0)

尝试使用mysql_query($sql,$con);代替mysql_query($sql);

答案 6 :(得分:0)

使用此

"INSERT INTO `contacts`(`name`, `phone`, `email`, `city`, `state`, `date`) VALUES ('$_POST[name]', '$_POST[phone]', '$_POST[email]', '$_POST[city]', '$_POST[state]', '$_POST[date]')";

答案 7 :(得分: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';
}