MySQL查询没有执行? - 没有错误

时间:2014-01-27 09:58:16

标签: php mysql sql

出于某种原因,我做了一个查询并且查询没有执行,我在代码中测试它以查看查询是否会执行,如果不能执行,则显示消息并显示消息。< / p>

我将在下面发布所有信息!

$ _ POST:enter image description here

代码:

    ini_set('display_errors',1); 
    error_reporting(E_ALL);
    echo "<pre>";
    var_dump($_POST);
    echo "</pre>";
    $mysqli = new mysqli("localhost", "lunar_casino", "******", "lunar_casino");
    if(isset($_POST['submit'])){
      $error = array();
      if(empty($error)){
        $bonus = $_POST['bonus'];
        $deposit = $_POST['deposit'];
        $offers = $_POST['offers'];
        $link = $_POST['link'];
        $name = $_POST['logo'];
        $q = $mysqli->query("INSERT INTO `lunar_casino`.`casino` VALUES(NULL, '$bonus', '$deposit', '$offers', '$link', '$logo', '$name', NULL)");
        if(!$q){
          echo "<font color='red'><b>There has been an error with our database! Please contact the website administrator!</b></font><br /><br />";
        } else {
          echo "<font color='green'><b>You have successfully added the casino!</b></font><br /><br />";
        }
      } else {
        echo "<font color='red'><b>There were ".count($error)." errors in your form:</b></font><br />";
        foreach($error as $err){
          echo "<b>".$err."</b><br />";
        }
        echo "<br />";
      }
    }

数据库结构: enter image description here

如果您需要更多信息,请告诉我们!

顺便说一下,我在查询中知道错误的方式是因为我检查了是否(!$ q)并且如果查询无法完成则显示错误消息,并显示错误消息页面。

任何想法为何不起作用?此外,我从查询中遗漏了日期,因为我不知道如何将当前日期:时间添加到查询中。

如果有人可以帮助解决这两个问题,请告诉我们! :)

1 个答案:

答案 0 :(得分:1)

首先检查连接上的错误

e.g

 $db = new mysqli('localhost', 'user', 'pass', 'lunnar_casino');

 if($db->connect_errno > 0){
   die('Unable to connect to database [' . $db->connect_error . ']');
 }

然后执行您的查询并确保您使用mysqli errors函数来返回发生的错误

e.g

$sql = <<<SQL
SELECT *
FROM `students`
WHERE `marks` < 10
SQL;

if(!$result = $db->query($sql)){
  die('An error occured [' . $db->error . ']');
}

如果这对您有用,请告诉我,如果需要,我会添加更多信息。