我正在尝试将数据插入mysql。我熟悉旧的mysql程序,但不熟悉mysqli程序,我最近没有完成任何项目,我看到PHP上7,上次我使用它时,它是PHP5。
使用mysqli时出现以下错误:
Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in C:\wamp64\www\index.php on line 60
我的代码如下:
$con = mysqli_connect($server, $username, $password, $database);
$query3 = mysqli_query($con, "INSERT INTO `urls` (`url`, `nameurl`) VALUES ('$url', '$nameof')") or die (mysqli_error($query3));
mysqli_close($con);
有错误的行是$ query3行。 这是我收到错误的部分。完整代码如下:
<?php
if (isset($_POST['submitted'])) {
$url = trim($_POST['url']);
$nameof = str_replace(" ",".",trim($_POST['nameof']));
$con = mysqli_connect($server, $username, $password, $database);
$sql = "SELECT * FROM urls WHERE nameurl = '$nameof' LIMIT 1";
if ($result=mysqli_query($con,$sql))
{
$rowcount=mysqli_num_rows($result);
if ($rowcount == 1) {
echo '<br /><div class="alert alert-danger">Sorry! This name is already taken.</div>';
} else {
if(!preg_match("/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i", $url)) {
echo "<br /><div class='alert alert-danger'>Error: invalid URL</div>";
} else {
if(($_POST['Submit'] == 'Submit') && ((!empty($_POST['url'])) && (!empty($_POST['nameof']))))
{
$query3 = mysqli_query($con, "INSERT INTO `urls` (`url`, `nameurl`) VALUES ('$url', '$nameof')") or die (mysqli_error($query3));
echo '<br /><div class="alert alert-info">Your short URL is <a href="/'.$nameof.'">'.$nameof.'</a>!</div>';
} else {
echo '<br /><div class="alert alert-danger">Error, fill in the fields.</div>';
}
}
}
mysqli_free_result($result);
}
mysqli_close($con);
}
?>
我做错了什么?其余代码按原样工作,只保存数据。 任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
您的问题是您将错误的对象传递给mysqli_error()
你应该传递连接,而不是查询本身,所以在你的情况下它将是:
$query3 = mysqli_query($con, "INSERT INTO `urls` (`url`, `nameurl`) VALUES ('$url', '$nameof')") or die (mysqli_error($con));