出于某种原因,我做了一个查询并且查询没有执行,我在代码中测试它以查看查询是否会执行,如果不能执行,则显示消息并显示消息。< / p>
我将在下面发布所有信息!
$ _ POST:
代码:
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 />";
}
}
数据库结构:
如果您需要更多信息,请告诉我们!
顺便说一下,我在查询中知道错误的方式是因为我检查了是否(!$ q)并且如果查询无法完成则显示错误消息,并显示错误消息页面。
任何想法为何不起作用?此外,我从查询中遗漏了日期,因为我不知道如何将当前日期:时间添加到查询中。
如果有人可以帮助解决这两个问题,请告诉我们! :)
答案 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 . ']');
}
如果这对您有用,请告诉我,如果需要,我会添加更多信息。