2

mysqlデータベースに接続しようとするとエラーが発生します。私はかなりPHP/mysqlのアマチュアなので、行き詰まっているので皆さんが私を助けてくれることを願っています。

Warning: mysql_query() [function.mysql-query]: 
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'\
(2) in /public/sites/www.kernlab.nl/website/index.php on line 13

Warning: mysql_query() [function.mysql-query]: A link to the server could not be
established in /public/sites/www.kernlab.nl/website/index.php on line 13
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

以下は、データベースに接続する方法です。

<?php
$db_host = "host";
$db_username = "user";
$db_password = "pass";
$db_database = "db";
$link = mysqli_connect($db_host,$db_username,$db_password) or die("Cannot connect");
  mysqli_select_db($link, $db_database) or die("Cannot select database");
?>

これが私がデータをエコーし​​ようとする方法です:

<?php
$query="SELECT * FROM ditdoenweblokken ORDER BY id DESC";
$result = mysql_query($query) or die(mysql_error()) ;
while($rij = mysql_fetch_array($result)){  
?>
<li><a style="height:150px;width:150px;" class="fancybox" href="#inline<?php echo($rij['id']);?>">
    <p style="font-weight:bold;"><?php echo($rij['titel']);?></p>
    <?php echo($rij['quote']);?></a>
</li>
<?php
}
?>

問題はスクリプト自体ではなく、mysqlサーバーのどこかにあると感じますか?私が立ち往生しているので、皆さんが助けてくれることを願っています。

前もって感謝します

4

2 に答える 2

4

問題は、mysqli_connectを使用してサーバーに接続しているが、mysql_queryを使用してクエリを実行しようとしていることだと思います。

mysqliを使用してクエリを実行してみてください。

これがmysqliMYSQLiマニュアルのマニュアルです

ちなみに、これは、データベースからデータを取得する方法とそのセキュリティについて考えるときに役立つ場合があります。

NetTuts-PHPのプリペアドステートメントの問題

次のようにmysqlを使用して、サーバーへの接続方法を変更できます。mysql_connect(servername、username、password);

ただし、これは安全ではありません。または、前述のようにクエリの実行方法を変更することもできます。

最初に接続を取得する必要があるので、$ mysqliに保存するとします。次に、クエリを実行できます。

$result = $mysqli->query("SELECT * FROM ditdoenweblokken ORDER BY id DESC);

これで、クエリから何かが返されたかどうかを確認できます。

于 2012-12-05T12:24:27.370 に答える
0

mysqli_connectでクエリに接続して実行しているため、接続mysql_queryが確立されていません。

ファイルも正しい方法でインクルードしていると仮定します;)

于 2012-12-05T12:21:50.150 に答える