php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.02.2012, 14:20  
Benutzer
 
Registriert seit: 09.01.2012
Beiträge: 41
PHP-Kenntnisse:
Anfänger
Riddler befindet sich auf einem aufstrebenden Ast
Standard mysqli_num_rows()

Hi,

Ich habe folgende Fehlermeldung:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, string given in D:\xampp\htdocs\fehler\add_error.php on line 363

Folgender relevanter Quellcode dazu:

PHP-Code:
$projekt_check=$_POST['check_projekt'];
           foreach (
$projekt_check as $project_checken)
           {}

       
$einlesen="SELECT MitarbeiterID, ProjektID FROM tblMitarbeiterProjekt WHERE MitarbeiterID=".$id." AND ProjektID=".$project_checken."";
       
       if(
mysqli_num_rows($einlesen) <= 1)
       {
           
$projekt_check=$_POST['check_projekt'];
           foreach (
$projekt_check as $project_checken)
           {
                
$sql4="INSERT INTO tblmitarbeiterprojekt(MitarbeiterID, ProjektID)
                VALUES('"
.$id."','".$project_checken."')";
                echo 
$project_checken."<br />";
                
$result mysqli_query($connect$sql4);
           }
       }
       else
       {
           echo 
"datensatz vorhanden";
       } 
Generell möchte ich das er den INSERT-Befehl nur dann ausführt, wenn die Zeile in dieser Konstallation noch nicht vorhanden ist, adher soll er mit num_rows die zeilen zählen und wenn sie vorhanden ist, dann DATENSATZ VORHANDEN ausgeben, sonst eintragen...

warum komt immer diese Warnung, bzw richtiger ansatz ??? oder gibt es einen besseren ?
Riddler ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.02.2012, 14:33  
Erfahrener Benutzer
 
Registriert seit: 13.01.2012
Beiträge: 256
PHP-Kenntnisse:
Anfänger
akretschmer befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Riddler Beitrag anzeigen
Hi,

Ich habe folgende Fehlermeldung:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, string given in D:\xampp\htdocs\fehler\add_error.php on line 363

Folgender relevanter Quellcode dazu:

PHP-Code:
$projekt_check=$_POST['check_projekt'];
           foreach (
$projekt_check as $project_checken)
           {}

       
$einlesen="SELECT MitarbeiterID, ProjektID FROM tblMitarbeiterProjekt WHERE MitarbeiterID=".$id." AND ProjektID=".$project_checken."";
       
       if(
mysqli_num_rows($einlesen) <= 1)
       {
           
$projekt_check=$_POST['check_projekt'];
           foreach (
$projekt_check as $project_checken)
           {
                
$sql4="INSERT INTO tblmitarbeiterprojekt(MitarbeiterID, ProjektID)
                VALUES('"
.$id."','".$project_checken."')";
                echo 
$project_checken."<br />";
                
$result mysqli_query($connect$sql4);
           }
       }
       else
       {
           echo 
"datensatz vorhanden";
       } 
Generell möchte ich das er den INSERT-Befehl nur dann ausführt, wenn die Zeile in dieser Konstallation noch nicht vorhanden ist, adher soll er mit num_rows die zeilen zählen und wenn sie vorhanden ist, dann DATENSATZ VORHANDEN ausgeben, sonst eintragen...

warum komt immer diese Warnung, bzw richtiger ansatz ??? oder gibt es einen besseren ?
Die Warnung kommt, weil Du was falsch machst. Was genau Du falsch machst, steht im Detail in der Meldung. Wer lesen kann, ist hier natürlich klar im Vorteil.

Und ja: Dein Problem löst man mit einem Unique Index.


Andreas
akretschmer ist offline   Mit Zitat antworten
Alt 01.02.2012, 14:34  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

mysql_num_rows erwartet ein Query, also das Ergebnis der Datenbank, das von mysql_query zurückgegeben wird. Du übergibst einfach nur den Querystring - nicht den Rückgabewert von mysql_query.
chorn ist offline   Mit Zitat antworten
Alt 01.02.2012, 14:41  
Benutzer
 
Registriert seit: 09.01.2012
Beiträge: 41
PHP-Kenntnisse:
Anfänger
Riddler befindet sich auf einem aufstrebenden Ast
Standard

ich benutze mysqli_num_rows ... nicht mysql_num_rows.

und in der definitiopn steht es so:

mysqli_num_rows($result)

siehe: http://php.net/manual/de/mysqli-result.num-rows.php
Riddler ist offline   Mit Zitat antworten
Alt 01.02.2012, 14:41  
Benutzer
 
Registriert seit: 09.01.2012
Beiträge: 41
PHP-Kenntnisse:
Anfänger
Riddler befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Riddler Beitrag anzeigen
ich benutze mysqli_num_rows ... nicht mysql_num_rows.

und in der definitiopn steht es so:

mysqli_num_rows($result)

siehe: http://php.net/manual/de/mysqli-result.num-rows.php
MEIN FEHLER:::JA ICH SEHE DAS QUERY AUCH !!!!

funktioniert. danke für den hinweis
Riddler ist offline   Mit Zitat antworten
Alt 01.02.2012, 16:37  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

[MOD] Threadtitel ist unzureichend.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysqli_num_rows, mysqli_num_rows(), php mysqli_num_rows

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:57 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum