mysqli_error () tam 1 parametresi, 0 verilen bekliyor

3 Cevap php

Ben mysql etrafında başımı almak için çalışıyorum. Bu mysql sorgu çalışmıyor neden birileri benim söyleyebilir misiniz? Ben şu hatayı alıyorum:

Warning: mysqli_error() expects exactly 1 parameter, 0 given in /home/freebet2/public_html/test.php on line 11

test.php

<?php
        require_once($_SERVER['DOCUMENT_ROOT'].'/includes/db.php');
        $conn = db_connect();
        $result = $conn->query("ALTER TABLE users ADD COLUMN refer_old INT(10) AFTER refer_id");

              if(!$result){
                 echo "Error with MySQL Query: ".mysqli_error();
             }
        ?>

db.php

 <?php

    function db_connect() {
       $result = new mysqli('localhost', 'user', 'password', 'db');
       if (!$result) {
         throw new Exception('Could not connect to database server');
       } else {
         return $result;
       }
    }

    ?>

Ben böyle bir şey için alter dize değiştirirseniz: $result = $conn->query("SELECT * FROM users refer_id"); Ben nedense hiç hatası alıyorum.

3 Cevap

Bildiğim kadarıyla sql hata ilgili olarak, 'kullanıcı' tablosunu değiştirmek için izinleri var mı?

Sen karıştırma, nesne yönelimli ve mysqli API prosedürel stilleri:

Sen nesne yönelimli kullanıyor:

$result = new mysqli('localhost', 'user', 'password', 'db');

Ve sonra, usul:

echo "Error with MySQL Query: ".mysqli_error();


You should use either OO, or procedural -- but not both ; and if you choose procedural, the functions expect the link identifier passed as a parameter.

Örneğin, mysqli_error nesne yönelimli API kullanarak ya aranmalıdır:

$link = new mysqli(...);
echo $link->error();

Veya usul API:

$link = mysqli_connect(...);
echo mysqli_error($link);


(Of course, it will not change the fact that you are having an error in your SQL query, but it'll allow you to get the error message, which should help finding the cause of that error)

Mysqli_error bağlantı parametre olarak geçirilecek beklediği gibi mysqli_error($result) kullanın.