2017-03-31 11 views
0

これは非常に自明ですが、私はそれを理解できません。私は別のサーバーで動作するが、私の新しいWebでは動作しないコードの一部を使用しました。PHP経由のDBへの接続ができません

<?php 
define('MYSQL_HOST','c236um.forpsi.com'); 
define('MYSQL_USER','abcd'); 
define('MYSQL_PASSWORD','xyz'); 
define('MYSQL_DB','abcd'); 

$db = mysqli_connect (MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die("failed to connect"); 
mysqli_select_db(MYSQL_DB, $db) or die(mysqli_error($db)); 
mysqli_query("SET NAMES UTF8"); 
?> 

とindex.phpの中で、私は単に体で、そのファイルが含ま:表示isn't体のこの内容で

include "protected/_mysql.php"; 

を、ただそこにある別のファイルに 私はこれを得ました空白の白いページ。変数の代わりにエラー通知としてテキストを入力すると、

mysqli_select_db(MYSQL_DB, $db) or die(mysqli_error($db)); 

エラーテキストが表示されます。 MYSQL_HOSTとしてlocalhostを置こうとしましたが、最初の "接続に失敗しました"というエラーが表示されます。 私は何が間違っていますか?

+1

引数は後方です。 ** 'mysqli_select_db($ link、 'abcd')' ** http://php.net/manual/en/mysqli.select-db.php。 (エラーを表示するには、PHPのエラー報告を有効にしてください) – spencer7593

+0

Oh hell :))ありがとうございました。私はそれを一度見て、問題が解決したかどうかを知っています... –

+0

ありがとうもちろん、この愚かな間違いだった。それを指摘してくれてありがとう!確かに、私はこれに数日拘束されるだろう。 –

答えて

0

まずはPHP - > PDOを見てみましょう
これは、MySQLサーバー(と他のユーザー)と話すことができ、エンジンを少し抽象化できるPHPに付属しているとても良いライブラリです。
これは、mysqli imhoを使用するよりも、PDOを使って作業するほうがずっとリラックスしています。

次の提案は、白いページが表示される場合は、PHPコードにエラーがある可能性があります(この場合はPHPインクルードまたはファイルがありません)。
エラー報告を有効にすることができ、エラーがログに記録されているかどうかを確認するには、Apacheログファイルを調べることができます。

http://php.net/manual/de/book.pdo.php
http://php.net/manual/de/function.error-reporting.php

1

この方法では、私の作品: 例(MySQLiの手続き)

$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "SELECT id, firstname, lastname FROM MyGuests"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
    // output data of each row 
    while($row = mysqli_fetch_assoc($result)) { 
     echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; 
    } 
} else { 
    echo "0 results"; 
} 

mysqli_close($conn); 
?> 

例(オブジェクト指向mysqliの)

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT id, firstname, lastname FROM MyGuests"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    echo "<table><tr><th>ID</th><th>Name</th></tr>"; 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>"; 
    } 
    echo "</table>"; 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
?> 

例(PDO)

<?php 
echo "<table style='border: solid 1px black;'>"; 
echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>"; 

class TableRows extends RecursiveIteratorIterator { 
    function __construct($it) { 
     parent::__construct($it, self::LEAVES_ONLY); 
    } 

    function current() { 
     return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>"; 
    } 

    function beginChildren() { 
     echo "<tr>"; 
    } 

    function endChildren() { 
     echo "</tr>" . "\n"; 
    } 
} 

$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDBPDO"; 

try { 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests"); 
    $stmt->execute(); 

    // set the resulting array to associative 
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
     echo $v; 
    } 
} 
catch(PDOException $e) { 
    echo "Error: " . $e->getMessage(); 
} 
$conn = null; 
echo "</table>"; 
?> 

これらの例はw3schoolsのものです。

https://www.w3schools.com

関連する問題