Kleines Problem mit PHP/MySQL - Daten werden net angezeigt

r3ddragon

Mitglied
Ich habe hier folgendes Script:
PHP:
<?php
include('copy.php');
// Datenbankinfo
$user = "";
$pass = "";
$host = "localhost";
$db = "the_ausredengenerator";
$table = "ausreden";
//Connect
$connID = mysql_connect ("$host", "$user", "$pass");
if (!mysql_select_db ($db, $connID))
{
  die ("Keine Verbindung zur Datenbank");
}

$sql = "SELECT * FROM " .$table."ORDER BY rand() LIMIT 1";
	$result = mysql_query($sql);
echo $result;

//$connID






echo "<b>" .$copy. "</b>";

?>

in der copy.php steht nur der Copyright hinweis

das problem ist ich habe mir diese DB gemacht in der die tabelleID und TEXT vorhanden ist.
Ich möchte das das Scripte jedesmal wenn ich auf einen Button klicke(der noch net vorhanden ist) einen zufalligen wert aus der Tabelle nimmt und anzeigt.

So wie das script aber im moment ist Zeigt es nur den Copyright hinweis an aber keinen wert aus der DB.

Was mache ich falsch?

Danke für die antworten
MfG R3D
 
Du musst selbstverständlich daran denken die Wiedergegeben Resultate auszuwerten:

mysql_result() sollte dir dabei helfen wenn es nur ein ergebnis ist.

Bei meheren ergebnissen helfen dir die funktionen wie z.b. mysql_fetch_assoc()

PHP:
$sql = "SELECT * FROM " .$table."ORDER BY rand() LIMIT 1"; 
$result = mysql_query($sql); 
echo mysql_result($result,0);
 
die idee hatte ich auch scho, da kam dann

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\ausredengenerator\start.php on line 19
 
Wie schon oben gesagt mysql_fetch_assoc verweden

PHP:
<?php 
include('copy.php'); 
// Datenbankinfo 
$user = ""; 
$pass = ""; 
$host = "localhost"; 
$db = "the_ausredengenerator"; 
$table = "ausreden"; 
//Connect 
$connID = mysql_connect ("$host", "$user", "$pass"); 
if (!mysql_select_db ($db, $connID)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT * FROM " .$table."ORDER BY rand() LIMIT 1"; 
    $result = mysql_query($sql); 

while ($row = mysql_fetch_assoc($result)) {
    echo $row[0];
    echo $row[1];
    echo $row[2];
}

//$connID 

echo "<b>" .$copy. "</b>"; 
?>

Mfg Splasch
 
Dein Fehler liegt in dem Query

Code:
SELECT * FROM " .$table."ORDER BY rand() LIMIT 1

Die anweisung ORDER BY braucht einen Tabellennamen und eine Reihenfolge und keine Zahl, wie z.b.:

SQL:
SELECT *
FROM `table`
WHERE `section` = 3
ORDER BY `ID` ASC
LIMIT 1

ASC = Ascending
 
Zuletzt bearbeitet von einem Moderator:
sry wenn ich mich dumm ich mich anstelle , ich habe
PHP:
$sql = "SELECT * FROM ".$table. " WHERE `section` = 3 ORDER BY `ID` ASC LIMIT 1";
      $result = mysql_query($sql);
echo mysql_result($result,0);

Ausgabe :
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\ausredengenerator\start.php on line 22
 
Du darfst bei deinem Query das WHERE section = 3 nicht mitbenutzen ^^
Und das ORDER BY musst du natürlich anpassen

Das sollte nur als Beispiel dienen

PHP:
$sql = "SELECT * FROM $table ORDER BY `ID` ASC LIMIT 1";
 
Bitte das nächste mal die Editieren funktion Benutzen. :P

Ich habe nocheinmal oben gelesen udn frage mich wofür du die Sortierung eigentlich Brauchst. Du willst einen zufälligen Text aus einer 2 Spaltigen Tabelle, also:

PHP:
$sql = "SELECT `spalte-text` FROM `tabelle` WHERE `spalte-id` = ". rand(0,5). " LIMIT 1";

Wobei die 5 bei der Random anweisung die Zeilenanzahl in der Tabelle ist
 
Zurück