2012-03-28 6 views
0

Ich habe versucht, eine Tabelle mit den Informationen, die ich möchte, zu bauen, und jetzt habe ich mit einer Warnung kämpfen, dass ich nicht in der Lage bin zu zittern.MySQL Warnung Ich kann nicht schütteln

Warning: mysqli_fetch_array() erwartet 1 Parameter in /customers/8/2/e/eldberg.com/httpd.www/tabell15.php auf der Leitung 30 gegeben MySQLi_Result Tid, boolean werden: Lokal:

Dies ist die Buchungen aus einem Kalender und Anzeige der Buchungen heute vorzulesen:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Kavalias conferens system</title> 
    <link rel="stylesheet" type="text/css" href="style.css" /> 
</head> 
<body> 
    <h1>Conference bookings</h1> 
    <h2 >todays Conferenses<h2> 
    <hr /> 

<?php 
    // Connect to the database 
    $dbc = mysqli_connect('localhost', 'User', 'Pass', 'DB'); 

    // Retrieve the score data from MySQL 
    $query = "SELECT mrbs_entry.room_id, mrbs_entry.start_time, mrbs_entry.name, mrbs_room.room_name 
    FROM mrbs_entry 
    left outer JOIN mrbs_room on mrbs_entry.room_id = mrbs_room.room_name 
    WHERE mrbs_entry.room_id='Lokal' 
    ORDER BY start_time, room_id, "; 

    $data = mysqli_query($dbc, $query); 


    // Loop through the array of score data, formatting it as HTML 
    echo '<table>'; 
    while ($row = mysqli_fetch_array($data)); { 
    // Display the score data 
    echo '<tr><td class="scoreinfo">'; 
    echo '<span class="Guest">' . $row['name'] . '</span></>'; 
    echo '<strong>Time:</strong> ' . $row['start_time'] . '<br />'; 
    echo '<strong>Location:</strong> ' . $row['Lokal'] . '</td></tr>'; 
    } 
    echo '</table>'; 

    mysqli_close($dbc); 
?> 

</body> 
</html> 
+0

'mysqli_query ($ dbc, $ query);' gibt false zurück, daher konnte die Abfrage nicht ausgeführt werden http://php.net/manual/en/mysqli.query.php – dotoree

+0

Was ist die Ausgabe von $ data und mysql_error ($ dbc)? – FilmJ

+0

Sie haben ein extra ',' am Ende Ihrer $ query, löschen Sie diese – Timm

Antwort

1

Das Problem entsteht, ist, dass MySQL eine falsche istead eines Ergebnisses zurück. Gehen Sie folgendermaßen vor, um mehr über das Problem zu erfahren:

$data = mysqli_query($dbc, $query) or die(mysql_error()); 

Ich hoffe, es hilft.

+0

Das wäre mysqli_error() und im Gegensatz zu mysql_error() ist der Parameter $ link/$ dbc nicht optional. – VolkerK

+1

Vielen Dank für jeden Körper ist es nicht einfach, aber wir müssen alle irgendwo anfangen. – Rutan

0

Dies geschieht, weil Ihr mysqli_query Anruf in $data = mysqli_query($dbc, $query); false zurück, was bedeutet, es s ist etwas falsch mit Ihrer Anfrage.

versuchen http://php.net/manual/en/mysqli.error.php direkt nach dem Aufruf zu sehen, was es zu mysqli_query

0

Lassen Sie sich nach room_id des Kommas los:

ORDER BY START_TIME room_id „;

0

Sie haben ein fehlerhaftes Komma nach room_id in Ihrem ORDER BY-Klausel
Wie angegeben. bevor müssen Sie Handhabung richtigen Fehler. Eg

// Connect to the database 
$dbc = mysqli_connect('localhost', 'User', 'Pass', 'DB'); 
if (!$dbc) { 
    die('Connect Error: ' . mysqli_connect_error()); 
} 

// Retrieve the score data from MySQL 
$query = " 
    SELECT 
     mrbs_entry.room_id, mrbs_entry.start_time, mrbs_entry.name, 
     mrbs_room.room_name 
    FROM 
     mrbs_entry 
    LEFT OUTER JOIN 
     mrbs_room 
    ON 
     mrbs_entry.room_id = mrbs_room.room_name 
    WHERE 
     mrbs_entry.room_id='Lokal' 
    ORDER BY 
     start_time, room_id 
"; 

$data = mysqli_query($dbc, $query); 
if (!$data) { 
    echo '<pre>', htmlspecialchars($query), '</pre>'; 
    echo '<pre>', htmlspecialchars(mysqli_error($dbc)), '</pre>'; 
    die; 
} 

, die für ein bisschen zu gesprächig ist Produktionscode (drucken Sie nicht die Abfrage und die gesamte Fehlermeldung an irgendeinen beliebigen Benutzer, siehe http://cwe.mitre.org/data/definitions/209.html), sondern hilft Ihnen, Fehler zu finden.

Verwandte Themen