我无法使用PHP插入MySQL(没有显示错误)

时间:2017-08-24 05:06:21

标签: php mysql

<?php
$q= $_REQUEST["q"];
$r = $_REQUEST["r"];
$s = $_SESSION['empid'];
$max = 0;
$dbhost = 'localhost:3306';
$dbuser = 'root';
$dbpass = '';
$dbname = 'employeesurvey';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$sql1 = "SELECT QuestionID FROM question";
if(!mysqli_query($conn,$sql1)){
    echo 'error2 php';
}
while($rw1 = mysqli_fetch_array($sql1)){
   $Q = $rw1['QuestionID'] ;
   if ($max<$Q){
       $max = $Q;
   }
}
$Q = $Q+1;
$sql = "INSERT INTO question VALUES (".$Q.",'".$r."',".$s.",CURRENT_DATE(),".$q.",0)";
if(!mysqli_query($conn,$sql)){
   echo "Error";
}

&GT;

db,表名都正确。我正在使用xmlHttpRequest.open()将值传递给此页面 调用语句是:

xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "gethint1.php?q=" + cid + "&r=" + question, true);

我没有收到任何错误,也没有插入值

2 个答案:

答案 0 :(得分:0)

替换此行:

if(!mysqli_query($conn,$sql1)){

与这些

$resultSet = mysqli_query($conn,$sql1);
if(!$resultSet){

现在替换这一行:

while($rw1 = mysqli_fetch_array($sql1)){

有了这个

while($rw1 = mysqli_fetch_array($resultSet)){

原因是您在从结果集中获取记录时没有执行查询并存储结果集,您使用的是逻辑上错误的直接查询变量。

答案 1 :(得分:0)

为什么你通过在mysql表中使用autoincrement字段或使用insert_id从表中获取Question id来复杂化这个问题很简单 问题是mysqli_fetch_array()函数适用于mysqli_query()函数的输出,即你为一个需要一个对象的函数提供一个字符串的对象