-3
mysqlにデータを挿入しようとしています。私は古いmysqlプロシージャに精通していますが、mysqliのプロシージャに精通していません。私は最近プロジェクトを行っておらず、PHPが7になったことを知りました。最後にPHP5でした。mysqliを使用してデータを挿入する際の問題
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);
}
?>
どうしたらよいですか?残りのコードは必要に応じて動作し、データのみが保存されません。 ご協力いただければ幸いです。
ありがとうございます。
'$ con'は' false'を返します。これは 'server/user/pass/db_name'の何かが間違っていることを意味します。 – panther
mysqli_error($ query3)をmysqli_error($ con)に置き換えてください –
Andrey Yerokhinありがとうございます。それは私が挿入するときに列がないためだった。ヒットと呼ばれる別の列があり、デフォルトで0を追加する必要がありました。 – CristianB