Почему SQL Expect Parameter должен быть Integer и mysqli? - PullRequest
0 голосов
/ 02 сентября 2018

Я получил 2 предупреждения.

Первый:

mysqli_connect() expects parameter 5 to be integer, string given in C:\xampp\htdocs\admin\config\koneksi.php on line 11

Моя строка 11

$koneksi = mysqli_connect($server, $id_user, $nama, $username, $password, $level);

Второй:

mysqli_select_db() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\admin\config\koneksi.php on line 12

Моя строка 12

$selected = mysqli_select_db($koneksi, $database) or die("Couldn't open database $database");

Полный код

<?php
$server = "localhost";
$id_user = "";
$nama = "";
$username = "root";
$password = "";
$level = "";
$database = "penjualan";

$koneksi = mysqli_connect($server, $id_user, $nama, $username, $password, $level);
$selected = mysqli_select_db($koneksi, $database) or die("Couldn't open database $database");
?>

Я использую PHP 7. Спасибо за любую помощь.

Дополнительная информация

мой файл check_login.php, подключенный к connection.php

<?php
include "../config/koneksi.php";
function antiinjection($data){
  $filter_sql = mysqli_real_escape_string(stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES))));
  return $filter_sql;
}

$id_user    = mysqli_real_escape_string($koneksi, $_POST['id_user']);
$nama       = mysqli_real_escape_string($koneksi, $_POST['nama']);
$username   = mysqli_real_escape_string($koneksi, $_POST['username']);
$password   = mysqli_real_escape_string($koneksi, $_POST['password']);
$level      = mysqli_real_escape_string($koneksi, $_POST['level']);

$login = mysqli_query($koneksi,"SELECT * FROM user WHERE id_user='$id_user' AND nama='$nama' AND username='$username' AND password='$password' AND blokir='N'");
$ketemu = mysqli_num_rows($login);
$r = mysqli_fetch_assoc($login);

if ($ketemu > 0){
  session_start();
  session_register("id_user");
  session_register("namauser");
  session_register("passuser");
  session_register("leveluser");

 $_SESSION[id_auser]     = $r[id_name];
 $_SESSION[namauser]     = $r[username];
 $_SESSION[passuser]     = $r[password];
 $_SESSION[leveluser]    = $r[level];

 header('location:media.php?module=home');
}
else{
 echo "<link href=style.css rel=stylesheet type=text/css>";
 echo "<center>LOGIN GAGAL!<br> 
     Username atau Password Anda tidak benar<br>
     Atau account Anda sedang diblokir<br>";
 echo "<a href=index.php><b>ULANGI LAGI</b></a></center>";
}
?>

1 Ответ

0 голосов
/ 02 сентября 2018

Я думаю, вы передаете неправильные параметры.

это правильный способ передачи параметров.

mysqli_connect(host,username,password,dbname,port,socket);
  • хост Необязательно. Указывает имя хоста или IP-адрес
  • имя пользователя Необязательно. Указывает имя пользователя MySQL
  • пароль Необязательно. Задает пароль MySQL
  • dbname Необязательно. Определяет базу данных по умолчанию для использования
  • порт Необязательно. Указывает номер порта для попытки подключения к MySQLserver
  • гнездо Необязательно. Определяет сокет или именованный канал для использования

поэтому в вашем случае я думаю, что это должно быть

mysqli_connect($server,$username,$password,$database); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...