これは私のコードでは間違っていますか?実行したときにブラウザでこのエラーが発生する警告:mysqli_query mysqli、C:\ wamp \ www \ login \ core \ function \ users.phpの4行目の整数。 "..助けが必要です。 私のコードは以下の通りです:警告:mysqli_query()は、パラメータ1がmysqliであると想定しています。整数が指定されています
user.php
<?php
require('core/database/connect.php');
global $username;
function user_exists($con,$username){
$username = sanitize($username);
$query = mysqli_query($con,"SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'") OR die(mysqli_error());
return (mysqli_fetch_assoc($query) ==1) ? true : false;
}
function user_active($username){
$username = sanitize($username);
$query = mysqli_query($con,"SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username' AND `active` = 1") OR die(mysqli_error());
return (mysqli_fetch_assoc($query) ==1) ? true : false;
}
?>
** connect.php ***
<?php
$connect_error = 'sorry,we are experiencing connection problem.';
$con = mysqli_connect('localhost','root','') or die($connect_error);
mysqli_select_db($con,'login_registration') or die($connect_error);
?>
機能は
<?php
include 'core/init.php';
if(empty($_POST) === false){
$username = $_POST['username'];
$password = $_POST['password'];
if(empty($username) || empty($password)){
$errors[] = 'You need to enter a username and password';
}else if(user_exists($con,$username) === false){
$errors[] = 'The account dosen\'t exit.Please register';
}else if(user_active($username) === false){
$errors[] = 'Please u have not login into ur account';
}else{
//here
}
print_r($errors);
}
?>
を呼び出しを教えてください私のコードで何が間違っています。事前にお礼します。
。あなたの現在のスタイルは非常に不愉快です:1.あなたは何も検出せず、何も処理していません。2.正確には効率的ではない方法で、それぞれのクエリに対して新しい接続を設定します。 – arkascha
私はtiを割り当てようとします。 ** $ con **のような変数は、このエラーメッセージが表示されます**未定義の変数:C:\ wamp \ www \ login \ core \ function \ users.phpの6行目** –
変数 '$ con'を使うと、その変数が関数スコープ内で利用可能でないことは明らかです。変数を使う前に、 '$ _GLOBALS ['con']'を参照するか、グローバル変数$ conを追加するか、関数に注入するのが良いでしょう: 'function user_exists($ con、 $ username) '...しかし、最善の解決策は、内部メソッドのすべてを包むシンプルなデータベースクラスを実装することです。そうすれば、クラスプロパティ内で接続を保存することができます。そして、あなたはエラー処理とロギングを一度だけ実装しなければならない。何度も何度も繰り返す必要はない。 – arkascha