2017-03-31 16 views
1

Ich habe den folgenden PHP-Code, aber es funktioniert nicht:Daten aus der Datenbank mit PHP Get

<?php 
$pid = "@channelbro"; 
$conn = mysql_connect('localhost:3306', 'web190_8', 'password'); 
mysql_select_db('web190_db8'); 
$result = mysql_query('SELECT password FROM channelbro_channels WHERE 
channel=$pid', $conn); 
$content = mysql_result($result, 0); 
echo $content; 
?> 

bekomme ich nur eine leere Seite ...

Kann mir jemand pls helfen ?! Vielen Dank!

+6

Die 'mysql_ *' Funktionen werden als PHP-Version 5.5 als veraltet und wurden als von v7.0 entfernt. Sie sollten nicht für neuen Code verwendet werden und sollten für [mysqli] (http://php.net/manual/en/book.mysqli.php) oder [PDO] (http://php.net/manual) getauscht werden /de/book.pdo.php) Äquivalente so schnell wie möglich. –

+2

Fehlermeldungen sind eine wunderbare Sache. Sie sollten wirklich nach ihnen suchen, indem Sie Fehlerfunktionen verwenden und Ihre Serverfehlerprotokolle betrachten. – aynber

+0

Sie benötigen Anführungszeichen um Ihre PID, so dass es weiß, dass es eine Zeichenfolge ist. –

Antwort

1

So würde ich es machen, in mysql und PDO.

Mysql

/*In the deprecated mysql extension*/ 
$pid = "@channelbro"; 
/*connecting*/ 
$conn = mysql_connect('localhost:3306', 'web190_8', 'password'); 
mysql_select_db('web190_db8'); 
/*If this comes from outside you need to escape it*/ 
$pid = mysql_real_escape_string($pid, $conn); 

/*Putting backtick around columns that are reserved words*/ 
$result = mysql_query("SELECT `password` FROM channelbro_channels WHERE 
      `channel`= '$pid'", $conn); 
$content = mysql_result($result, 0); 
echo $content; 

PDO

/*In PDO*/ 
$pid = "@channelbro"; 
$pdo = new PDO("mysql:host=localhost;port:3306;dbname=web190_db8", 'web190_8', 'password'); 
/*Putting backtick around columns that are reserved words*/ 
$query = "SELECT `password` FROM channelbro_channels WHERE 
      `channel`= :pid"; 
$pdo_stmt = $pdo->prepare($query); 
/*Prepared statements escape it for you*/ 
$pdo_stmt->bindValue(":pid", $pid); 
$pdo_stmt->execute(); 

echo $pdo_stmt->fetchColumn(); 
+0

** Vielen Dank! ** – PartyGuy

+0

@OberhaldenwegNews Gern geschehen! –

0

Zuerst sollten Sie von der Verwendung von mysql_* Funktionen weglaufen, verwenden Sie stattdessen mysqli_*. Das heißt, Sie sollten die Daten anzeigen, nicht das Ergebnisobjekt.

Beispiel

while ($row = mysql_fetch_assoc($result)) { 
     echo $row['column_name']; 
} 

Noch nicht funktioniert? Verwenden Sie mysql_error(), um die mysql-Fehlermeldung anzuzeigen.

Verwandte Themen