2017-09-25 70 views
0

我已經寫了下面的代碼來連接MySQL中的PHP,但我沒有得到輸出。PHP和MySQL連接不工作

<?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = "pravin"; 
    $mysql_conn = new mysqli($servername, $username, $password); 
     if ($mysql_conn->connect_error) { 
      die("Connection failed: ". $mysql_conn->connect_error); 
} 

echo "Connected successfully"; 
$name = $_POST["microorganism"]; 
echo $name; 
$db_selected = mysql_select_db('yieldofvanillin', $mysql_conn); 
if (!$db_selected){ 
    die ('Can\'t use : ' . mysql_error()); 
} 
$query = "SELECT * FROM vanillin WHERE Microorganism = '$name' "; 
$result = $mysql_query($query); 
while ($line = myql_fetch_array($result, MYSQL_ASSOC)) { 
    echo $line["Substrate"]; 
    echo $line["products"]; 
    echo $line["Microorganism"]; 
    echo $line["yield"]; 
    echo $line["Reference"]; 
} 

mysql_close($mysql_conn); 
?> 

數據庫名稱是「yieldofvanillin」,它有五列。我獲得輸出連接成功。之後,沒有輸出。請讓我知道代碼中的錯誤。

+0

中被棄用,所以在上面的代碼中,您使用了'mysqli_'和下面的代碼來使用'mysql_fetch..'。更正這些錯誤並閱讀說明書 –

+0

當您打開mysqli連接時,您正在使用mysql函數。你不能這樣做。 –

+0

同時確保您更改正確。要麼使用純粹的OOP方式,要麼使用純粹的程序方式。不要混合使用 –

回答

0

我已刪除錯誤。我在評論中提到。代碼參考PHP Manual。你應該閱讀本手冊(強烈推薦)

<?php 
$mysqli = new mysqli("localhost", "root", "pravin", "yieldofvanillin"); 

/* check connection */ 
if ($mysqli->connect_errno) { 
    printf("Connect failed: %s\n", $mysqli->connect_error); 
    exit(); 
} 

$query = "SELECT * FROM vanillin WHERE Microorganism = '$name' "; 

if ($result = $mysqli->query($query)) { 

    /* fetch associative array */ 
    while ($row = $result->fetch_assoc()) { 
     echo $row["Substrate"]; 
     echo $row["products"]; 
     echo $row["Microorganism"]; 
     echo $row["yield"]; 
     echo $row["Reference"]; 

    } 

    /* free result set */ 
    $result->free(); 
} 
0

你在混合mysqli和mysql庫。

的代碼應該是:在你的code.Read

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "pravin"; 
$mysql_conn = new mysqli($servername, $username, $password); 
    if (mysqli_connect_errno()) { 
     die("Connection failed: ". mysqli_connect_error()); 
} 

echo "Connected successfully"; 
$name = $_POST["microorganism"]; 
echo $name; 
$db_selected = mysqli_select_db($mysql_conn,'yieldofvanillin'); 
if (!$db_selected){ 
    die ('Can\'t use : ' . mysqli_error($mysql_conn)); 
} 
$query = "SELECT * FROM vanillin WHERE Microorganism = '$name' "; 
$result = mysqli_query($mysql_conn,$query); 
while ($line = mysqli_fetch_assoc($result)) { 
    echo $line["Substrate"]; 
    echo $line["products"]; 
    echo $line["Microorganism"]; 
    echo $line["yield"]; 
    echo $line["Reference"]; 
} 

mysqli_close($mysql_conn); 
?> 
0

刪除錯誤仔細PHP手冊。

<?php 
     $servername = "localhost"; 
     $username = "root"; 
     $password = "pravin"; 
     $db = "yieldofvanillin"; 

    // Create connection 
     $mysqli = new mysqli($servername, $username, $password, $db); 

    /* connection string*/ 
    if ($mysqli->connect_errno) { 
     die("Connection failed: " . $mysqli->connect_error); 
     exit(); 
    } 

    $query = "SELECT * FROM vanillin WHERE Microorganism = '$name' "; 

    if ($result = $mysqli->query($query)) { 


    while ($row = $result->fetch_assoc()) { 
      echo $row["Substrate"]; 

     } 


    $result->free(); 
    } 

$mysqli->close(); 

?>

你的輸出,因此無法顯示mysql_fetch_array不correct.Because你混合mysql_和mysqli_功能,你叫myql_fetch_array中不存在mysqli的。 MySQL和MySQLi是兩種不同的PHP擴展,它們不能混用。因爲前者在mysqli

+0

親愛的先生感謝您的幫助,但我做了這個n我得到錯誤「本頁不工作本地主機當前無法來處理這個請求 HTTP ERROR 500「 –

+0

好吧,我會檢查我的本地機器 –

+0

兄弟現在檢查,更新我的答案。這個錯誤顯示,因爲PHP沒有結束,我給你一個upvote。 –