PHP Error: Warning: mysqli_error() expects exactly 1 parameter, 0 given in..

4 Antworten

Du vermischt hier 2 Paar Schuhe. mysql und mysqli. Entweder du nutzt konsequent mysqli oder verwendest z.B. PDO - das vereinfacht so einiges.

maximilianus7  16.02.2015, 10:24

oder konsequent mysql !

der fragesteller wollte eine Lösung für sein problem, keine grundsatzdiskussion.

0
setemba  16.02.2015, 12:51
@maximilianus7

Sein Fehler liegt darin, dass er 2 verschiedene Systeme nutzt mysql und mysqli und das habe ich ihm aufgezeigt. Er stellt eine mysql-Verbindung her, will aber per mysqli einen Fehler ausgeben und das auch noch falsch. Das kann er jetzt durchaus selbst erkennen.

Das Manual rät von der Verwendung der alten Extension mysql mittlerweile ab. Alternativen sind entweder die neue MySQL-Extension (MySQLi oder PDO) - auch hier wieder nichts von Grundsatzdiskussion, sondern ein offizieller Hinweis - wo also ist Dein Problem?

0
Alextoexplain  16.02.2015, 13:11
@setemba

Sein Problem ist vermutlich deine eher unsympathisch wirkende Schreibweise. Aber immerhin hast du das Problem des Fragestellers richtig zuordnen können, deswegen sei dir ein Daumen Hoch von mir gewährt. Trotzdem könntest du etwas freundlicher schreiben :)

0
setemba  16.02.2015, 13:46
@Alextoexplain

Mhh, ok wenn das so rübergekommen ist - hab einfach nur kurz und knapp das Problem beschrieben. Und da der Fragesteller nur einen kleinen Fehler gemacht hat, den ich einfach auf Unaufmerksamkeit schieben würde, ging ich davon aus, das damit die Lösung auf der Hand liegt.

Aber gut, dann werde ich beim nächsten mal bissi auf meine Formulierung achten.

Thx für den DH

0
niggo123999 
Fragesteller
 16.02.2015, 16:02
@setemba

Hey, Danke für den tipp! Hat geholfen ^^. Jetzt ist es nur so, das er zwar keinen Fehler etc ausgibt, aaaber, er gibt den Datensatz nicht aus.Kannst du nochmal helfen?

Hier der code:

$cdb = mysqli_connect("localhost", "ragentsql21", "1234", "ragentsql21") 
or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");

    
    
    $sql = "SELECT * FROM login";
    $db_erg = mysqli_query($cdb, $sql);
    if(!$db_erg)
    {
        die('Ungueltige Abfrage: ' . mysqli_error($cdb));
    }

    while($row = mysqli_fetch_row($db_erg))
        {
            $row['user']; 
        }

    mysqli_free_result( $db_erg );
0
setemba  17.02.2015, 11:13
@niggo123999
while($row = mysqli_fetch_row($db_erg))
{
     $row['user']; 
 }

Du hast hier nur vergessen, ein print_r oder echo zu nutzen

Versuche es doch mal so:

print_r( $row['user'] );

Ein kleiner Hinweis am Rande... select * sollte man nicht unbedingt nutzen, sondern die abgefragten Datensätze direkt abzufragen. Also:

select user from login

lies doch bitte dazu mal den kleinen Beitrag hinter dem Link

http://www.php-faq.de/q-sql-select.html

0

Der Fehler scheint in der Funktion mysqli_error() zu liegen. Die erwartet einen Parameter, du hast aber keinen mitgegeben.

Öhm Browser verlauf löschen bzw. Alles Löschen, auch die Cookies

setemba  16.02.2015, 09:00

Blödsinn, das hat rein gar nichts mit dem Fehler zu tun.

0

Versuch mal mysqli_error($cdb); bin kein php-profi, aber dir fehlt da ein parameter.