Hilfe bei einem php Skript und Fehlersuche

Gast #5039384
Lesenswert?
• ▲
▼
Hallo,

ich habe folgendes php Skript programmiert und es funktioniert nicht wie 
es soll....allerdings finde ich den Fehler nicht und frage euch darum um 
Hilfe:
1
<?php require_once('settings.inc.php');
2

3

4
function bool_check_entryexistintable($entry, $tablecolumn, $table, $databaselink)
5
{
6
        $query = "SELECT COUNT(" .$tablecolumn. ") AS cnt FROM " .$table. " WHERE " .$tablecolumn. "=" .$entry;
7
        $result = mysqli_query($databaselink,$query);
8
        echo (bool) mysqli_num_rows($result, 0);
9
        }
10

11
function ressource_connect_database($databasehost, $databaseuser, $databasepassword, $database)
12
{
13
        $link = mysqli_connect($databasehost, $databaseuser, $databasepassword, $database);
14
        if (mysqli_connect_errno()) {
15
                                        $message['error'] = 'Datenbankverbindung fehlgeschlagen: ' . $mysqli->connect_error;
16
                            } else{
17
                        return $link;
18
         }
19
                }
20

21

22
$link = ressource_connect_database(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DB);
23
if ( !bool_check_entryexistintable("1", "ID", "user",$link) )
24
{
25
  echo "exist";


Ich habe die queries einzeln im phpmyadmin gecheckt und die stimmen aber 
das skript funktioniert nicht....wo ist der Fehler?
Gast #5039446
Lesenswert?
• ▲
▼
dummy schrieb:
>
1
> function bool_check_entryexistintable($entry, $tablecolumn, $table, 
2
> $databaselink)
3
> {
4
>         $query = "SELECT COUNT(" .$tablecolumn. ") AS cnt FROM " 
5
> .$table. " WHERE " .$tablecolumn. "=" .$entry;
6
>         $result = mysqli_query($databaselink,$query);
7
>         echo (bool) mysqli_num_rows($result, 0);
8
>         }
9
>

Habe glücklicherweise ewig kein PHP mehr machen müssen, aber fehlt in 
"bool_check_entryexistintable()" nicht irgendwo ein return?
Gast #5039498
Lesenswert?
• ▲
▼
Wenn der gesuchte Wert nicht in der Tabelle ist, sollte 
mysqli_num_rows() 0 zurückliefern.

Ist aber eh egal - weil der Wert von mysqli_num_rows() nicht zur 
aufrufenden Funktion zurückgeliefert wird.
#5039569
Lesenswert?
• ▲
▼
unabhängig vom sql:
1
function bool_check_entryexistintable($entry, $tablecolumn, $table, $databaselink)
2
{
3
        $query = "SELECT COUNT(" .$tablecolumn. ") AS cnt FROM " .$table. " WHERE " .$tablecolumn. "=" .$entry;
4
        $result = mysqli_query($databaselink,$query);
5
        echo (bool) mysqli_num_rows($result, 0);
6
}
hat immer noch kein return statement.

weg mit dem echo und cast, return und vergleichsoperation her, dann 
nochmal probieren

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.