2016-07-03 13 views
1

Ich habe schon ein paar doppelte Fragen diesbezüglich schon gesehen, aber aus irgendeinem Grund kann ich die Daten nicht im Menü anzeigen lassen. Das Dropdown-Menü ist leer.Dropdown-Menü mit Datenbankinformationen ausfüllen?

Die Tabelle ist "Colleges2". Die Daten, die ich abrufen möchte, befinden sich in einer Spalte namens "Name". Es ruft also im Grunde eine Liste von Namen aus der Colleges2-Tabelle ab und zeigt sie an.

mysql_connect('localhost', '', '') or die(mysqli_error()) ; 
mysql_select_db('Colleges2'); 

$sql = "SELECT Name FROM Colleges2"; 
$result = mysql_query($sql); 

?> 
<select name="Name" id=""> 
<?php 
while ($row = mysql_fetch_array($result)) { 
$Name = $row['Name']; 
echo "<option value='" .$row['Name']. "'>" .$row['Name']. "</option>"; 
} ?> 
</select> 

Ich verwende wahrscheinlich nicht den neuesten MySQL-Code .... verzeih mir dafür. Ich sehe weiterhin Beiträge und Tutorials, die entweder mysql oder mysqli verwenden.

AKTUALISIERT:

<?php 
$sql = "SELECT Name FROM Colleges2"; 
$conn = new mysqli("localhost", "", "") or die("Failure!") ; 

$stmt=$conn->query($sql); 

?> 
<select name="Name" id=""> 
<?php 
while ($row = $stmt->fetch_assoc()) { 
$Name = $row['Name']; 
echo "<option value='" .$Name. "'>" .$Name. "</option>"; 
} ?> 
</select> 

SECOND UPDATE (dieses ARBEITETE):

<?php 
//$host = "localhost:3306"; 
//$db_name="univers1_test"; 
//$user = "univers1_admin"; 
//$pass = "[email protected]"; 

//$conn = new mysqli($host, $user, $pass, $db_name) or die("DB Connection failed!!"); 
mysql_connect("localhost:3306", "", "") or die(mysql_error()) ; 
mysql_select_db("univers1_test") or die(mysql_error()) ; 
$sql = "SELECT Name FROM Colleges2"; 
$result = mysql_query($sql) or die(mysqli_error()) ; 

//$stmt=$conn->query($sql); 
?> 

<select name="Name" id=""> 
<?php 
while ($row = mysql_fetch_array($result)) { 
?> 
<option value="<?php $row['Name']; ?>"><?php echo $row['Name']; ?>  </option> 
<?php 
} ?> 
</select> 
+1

[** Kann ich MySQL-APIs in PHP mischen? **] (http://stackoverflow.com/questions/17498216/can-i-mix-mysql-apis- in-php) _Spoiler alert: _ nein, du ** kannst nicht **. – FirstOne

+0

Sie haben einen tollen Job gemacht und beschrieben, was Sie bereits haben. Aber wir kennen das genaue Problem nicht. Kannst du uns erleuchten? – PaulH

+0

Falls Sie es nicht gesehen haben, ist mysqli_error ein Mix – PaulH

Antwort

1

Hier ist, wie PDO verwenden oder MySQLi

PDO

<?php 
$host = "localhost"; 
$db_name="Colleges2"; 
$user = ""; 
$pass = ""; 

$sql = "SELECT Name FROM Colleges2"; 
$conn = new PDO("mysql:host=$host;dbname=$db_name",$user,$pass) or die("DB Connection failed!!"); 
$stmt = $conn->prepare($sql); 
$stmt->execute(); 
?> 
<select name="Name" id=""> 
<?php 
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
$Name = $row['Name']; 
echo "<option value='" .$Name. "'>" .$Name. "</option>"; 
} ?> 
</select> 

MySQLi

<?php 
$host = "localhost"; 
$db_name="Colleges2"; 
$user = ""; 
$pass = ""; 

$sql = "SELECT Name FROM Colleges2"; 
$conn = new mysqli($host, $user, $pass, $db_name) or die("DB Connection failed!!"); 
$stmt=$conn->query($sql); 
?> 
<select name="Name" id=""> 
<?php 
while ($row = $stmt->fetch_assoc()) { 
$Name = $row['Name']; 
echo "<option value='" .$Name. "'>" .$Name. "</option>"; 
} ?> 
</select> 
+0

Verwendet die mysqli-Version, aber die Daten werden immer noch nicht im Drop-Menü angezeigt ... :( – user2984757

+0

@ user2984757 In diesem Fall überprüfen Sie bitte Ihre Datenbank. Stellen Sie sicher, dass der Datenbankname und die Tabelle ist ** Colleges2 **, und dass der Name der Spalte ist ** Name ** –

+0

aktualisiert meine Post mit meiner neuen Lösung, die funktioniert – user2984757

0
<?php 
    mysql_connect('localhost', '', '') or die(mysqli_error()) ; 
    mysql_select_db('Colleges2'); 

    $sql = "SELECT Name FROM Colleges2"; 
    $result = mysql_query($sql) or die(mysqli_error()) ; 
?> 

<select name="Name" id=""> 
<?php 
    while ($row = mysql_fetch_array($result)) { 
?> 
<option value="<?php echo $row['Name']; ?>"> <?php echo $row['Name']; ?> </option> 
<?php 
} ?> 
</select> 
+1

bitte erläutern, was Sie getan haben – PaulH

+0

Ich überprüft die Unterschiede, und sehe nicht, warum es helfen würde. Wendet man nicht einen anderen Codierstil an, aber ändert nicht das Verhalten? – PaulH

+0

Ich habe versucht, mysqli, aber aus irgendeinem Grund, als ich diesen Code ausprobierte, funktionierte es. Daten werden jetzt angezeigt. Aktualisiert meine Post mit der Lösung. Haben Sie Jungs Irgendein Feedback? Ich weiß nie, warum mysql für mich besser als mysqli arbeiten kann. – user2984757