私のubuntuではPHPの検索エンジンで作業していますが、mysql DBとの単純な接続ですが、/ var/log/apache2/errorにこのエラーがあります。ログPHP警告:mysqli_close()は、mysqliのLinuxになることを期待しています。
PHP Warning: mysqli_close() expects parameter 1 to be mysqli, null given in /var/www/html/search.php on line 67
これは私のスクリプトです。
<?php
define('HOST_DB', 'localhost ');
define('USER_DB', 'root');
define('PASS_DB', '123456');
define('NAME_DB', 'Generic');
function conectar(){
global $conexion;
$con = mysqli_connect('localhost', 'root', '1q2w3e4r') or die("cannot connect server ");
#$conexion = mysql_connect(HOST_DB, USER_DB, PASS_DB)
#$conexion = mysqli_connect('localhost', 'root', '1q2w3e4r')
# $con = mysqli_connect('localhost', 'root', '1q2w3e4r')or die("cannot connect server ");
# or die ('NO SE HA PODIDO CONECTAR AL MOTOR DE LA BASE DE DATOS');
mysqli_select_db($con,'Genetec') or die ('NO SE ENCUENTRA LA BASE DE DATOS ' . NAME_DB);
#mysqli_select_db($con, 'Genetec') or die(mysqli_error($con));
#or die ('NO SE ENCUENTRA LA BASE DE DATOS ' . NAME_DB);
#or die ('NO SE ENCUENTRA LA BASE DE DATOS ' . mysqli_error());
}
function desconectar(){
global $conexion;
mysqli_close($con);
// mysqli_close($conexion);
//mysqli_close()
}
$text = '';
$registros = '';
if($_POST){
$busqueda = trim($_POST['buscar']);
$entero = 0;
if (empty($busqueda)){
$texto = 'Búsqueda sin resultados';
}else{
conectar();
mysqli_set_charset('utf8'); // mostramos la información en utf-8
// $sql = "SELECT * FROM inventarySPN WHERE id LIKE '%" .$busqueda. "%' ORDER BY id";
$sql = "SELECT * FROM SPN WHERE id LIKE '%" .$busqueda. "%' ORDER BY id";
$resultado = mysqli_query($sql); //Ejecución de la consulta
if (mysqli_num_rows($resultado) > 0){
$registros = '<p>HEMOS ENCONTRADO ' . mysqli_num_rows($resultado) . ' registros </p>';
while($fila = mysqli_fetch_assoc($resultado)){
$texto .= $fila['Genetec'] . '<br />';
}
}else{
$texto = "NO HAY RESULTADOS EN LA BBDD";
}
// mysqli_close($conexion);
mysqli_close($con);
}
}
?>
<!DOCTYPE html>
<html lang="es-ES">
<head>
<meta charset='utf-8'>
<head>
<body>
<h1>Buscador <a href="http://webreunidos.es" title="" target="_self"></a></h1>
<form id="buscador" name="buscador" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<input id="buscar" name="buscar" type="search" placeholder="Buscar aquí..." autofocus >
<input type="submit" name="buscador" class="boton peque aceptar" value="buscar">
</form>
<?php
echo $registros;
echo $texto;
?>
</body>
</html>
このエンジンはidを検索し、すべてのテーブルフィールドを表示します。
誰かがこのエラーで私を助けます
ありがとうございました。
var_dump $ conと返されるものを参照 – ThisGuyHasTwoThumbs
変数スコープのほかに、クエリは失敗し、以下の(すでに与えられた)回答によって選択されませんでした。そのため、あなたのコードはエラー処理に向かいます。 –
あなたは 'global $ conexion;でも間違った変数を使用しています。 –