PHP使用$ _POST和insert语句的问题

时间:2013-05-24 17:05:01

标签: php sql post

<?php 
$name = $_POST['usrname'];
$review = $_POST['usrcomment'];
$con = mysqli_connect("host","user","password","db");
if (mysqli_connect_errno()){
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else {
  $sql="INSERT INTO Feedback (ClientName, ClientComment) VALUES('$name','$review')";
  mysqli_query($con,$sql);
}
if (!mysqli_query($con,$sql)){
   die('Error: ' . mysqli_error($con));
}
mysqli_close($con);
?>

以下是错误声明:注意:未定义的索引:usrname。

我正在尝试将Web表单连接到数据库。我收到了我的Web表单的文本字段的未定义索引的错误。我使用带有$ _POST函数的SQL插入语句将数据从Web表单插入到数据库中。我从语句中删除了post函数,并放入了一些真实的数据。该声明起作用并将信息放入数据库。似乎错误与post函数有关。有任何想法。 谢谢, 马特

2 个答案:

答案 0 :(得分:0)

使用var_dump($_POST)调试问题。有可能是webform中输入字段的名称与您使用$_POST时使用的索引不匹配。另外,请确保您的网络表单使用POST而不是GET

答案 1 :(得分:0)

我们可以采取一些措施来解决这个问题。 1.确保action =正在寻找正确的php文件 2.将您尝试使用的元素的name属性复制到$_POST['']的关键区域,这样如果您有<input type = "text" name = "user">,您的变量将显示为$user = $_POST['user']; } 3. print_r数组。每个php程序员应该具备的一个功能是

function printarray($printarray){ 
    echo '<pre>';
        print_r($printarray);
    echo '</pre>';
}

然后每次你需要打印全局变量时使用:

printarray($_REQUEST);

和BAM theres你发送的所有变量