Ich versuche, eine Datei erstellen, die eine Tabelle aus der Abfrage löschen und neu erstellen. Ich bekomme immer einen Syntaxfehler. Es ist eine Weile her, dass ich in Mysql gearbeitet habe und den Fehler nicht sehe. Eine andere Reihe von Augen wäre großartig!Erstellen einer Tabelle aus einer Abfrage mit PHP und Mysql
$dbc = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ('Could not connect to MySQL: ' . mysqli_connect_error());
//drop table for updated database
//Create query
$q = "
DROP TABLE IF EXISTS dbName.tbName;
CREATE TABLE dbName.tbName (ID int) AS 'SELECT
dbName.tbName.ID
FROM
dbName.tbName
ORDER BY
dbName.tbName.count DESC
LIMIT 8'";
;
//run query
$r = @mysqli_query ($dbc, $q);
//Displays resutls if query ran correctly
if ($r) { // If it ran OK, display the records.
// Table header.
echo '<table align="center" >
<tr><td align="left"><b>Number 1</b></td><td align="left"><b>Number 2</b></td><td align="left"><b>Number 3</b></td><td align="left"><b>Number 4</b></td><td align="left"><b>Number 5</b></td><td align="left"><b>Number 6</b></td>
<td align="left"><b>Number 7</b></td><td align="left"><b>Number 8</b></td><td align="left"><b>Number 9</b></td><td align="left"><b>Number 10</b></tr>';
// Fetch and print all the records:
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
echo '<tr><td align="left">' . $row['Number_1'] . '</td><td align="left">' . $row['Number_2'] . '</td><td align="left">' . $row['Number_3'] . '</td><td align="left">' . $row['Number_4'] . '</td><td align="left">' .
$row['Number_5'] . '</td><td align="left">' . $row['Number_6'] . '</td><td align="left">' . $row['Number_7'] . '</td><td align="left">' . $row['Number_8'] . '</td>
<td align="left">' . $row['Number_9'] . '</td><td align="left">' . $row['Number_10'] . '</td></tr>'."\n";
}
echo '</table>'; // Close the table.
mysqli_free_result ($r); // Free up the resources.
} else { // If it did not run OK.
// Public message:
echo '<p class="error">Your numbers could not be retrieved. We apologize for any inconvenience.</p>';
// Debugging message:
echo '<p>' . mysqli_error($dbc) . '<br /><br />Query: ' . $q . '</p>';
} // End of if ($r) IF.
mysqli_close($dbc); // Close the database connection.
Der Fehler, ich bin immer ist:
Ihre Zahlen nicht abgerufen werden können. Wir bitten um Entschuldigung für die Unannehmlichkeiten.
Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe von 'CREATE TABLE entspricht dbName.tbName (ID int) AS' SELECTdbName.tbNam 'Zeile 2
Abfrage: DROP TABLE IF EXISTS dbName.tbName;
CREATE TABLE dbName.tbName (ID int) AS SELECT
dbName.tbName.ID
FROM
dbName.tbName
ORDER BY
dbName.tbName.count DESC
LIMIT 8 '
Die Verwendung des '@' -Operators zur Unterdrückung von Fehlern ist problematisch. – tadman
mein nicht multi_query verwenden – Drew
Dies ist ein neues für mich multi_query? –