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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren