0

ローカルホストでこのコードを実行できないようです。私の目標は、Webサイトに表示されるはずのテーブルを作成することですが、接続しようとするとエラーが発生します。

警告:mysql_connect():5行目のC:\ xampp \ htdocs \ PhpProject2\hent.phpでは接続できません

my site name: http://localhost/PhpProject2/hent.php

コード:

<html>
<body>
<?php 

mysql_connect('<server is here>','<my username here>','<password here>') 
or die('can not connect' );
mysql_select_db('<my username here>') or die ('can not connect to <username here>');  

$sql = "Select * from Customer";
$result = mysql_query($sql);
$number= mysql_num_rows($result);

for($i=0; $i < $number; $i++)
{
    $table = mysql_fetch_row($result);
    echo  $table[0], $table[1];
    echo '<br>';
}
?>
    </body>
</html> 

私はxamppを使用しており、MySQLはポート3306で実行されています:]

私の<ユーザー名はここ>、<サーバーはここ>、<パスワードはここ>の代わりに実際のコードがあります:]

私はどんな答えにも感謝します:]

4

4 に答える 4

1

これを試して:

<?php
  $host = "hostname";
  $user = "username";
  $password = "password";
  $database = "database";

  $link = mysqli_connect($host, $user, $password, $database);
  If (!$link){
      echo ("Unable to connect to database!");
  }
  else {
  $query = "SELECT * FROM Customer";    
  $result = mysqli_query($link,$query);

  while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
   echo  $row['<insert column name>']. "<br>";
  }
}
mysqli_close($link);
?>

このコードではMYSQLライブラリを使用しました。mysqlの列が0および1と呼ばれるかどうかを確認する必要があります。ところで、私は個人的な好みであるFORループの代わりにWHILEを使用しています。

于 2013-01-22T01:11:15.377 に答える
1

エラーを確認するためにできることは次のとおりです。

mysql_connect('<server is here>','<my username here>','<password here>') 
or die('Error: '.mysql_error() );

また、で始まるすべての関数の使用は控えてくださいmysql_*。彼らは現在、非難されています。

mysqliまたはpdoを使用する

于 2013-01-22T00:40:02.543 に答える
0

PDOの使用を開始することをお勧めします。

index.php

<?php 
require "dbc.php";

$getList = $db->getAllData(25);

foreach ($getList as $key=> $row) {
         echo $row['columnName'] .' key: '. $key;
    }
?>

dbc.php

<?php
class dbc {
public $dbserver = 'server';
public $dbusername = 'user';
public $dbpassword = 'pass';
public $dbname = 'db';

function openDb() {    
    try {
        $db = new PDO('mysql:host=' . $this->dbserver . ';dbname=' . $this->dbname . ';charset=utf8', '' . $this->dbusername . '', '' . $this->dbpassword . '');
    } catch (PDOException $e) {
        die("error, please try again " . $e);
    }        
    return $db;
}

function getAllData($qty) {
    //prepared query to prevent SQL injections
    $query = "Select * from Customer where zip= ?";
    $stmt = $this->openDb()->prepare($query);
    $stmt->bindValue(1, $qty, PDO::PARAM_INT);
    $stmt->execute();
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    return $rows;
}    
?>
于 2013-01-22T00:44:33.860 に答える
0

これは私が通常MySQLデータベースに接続する方法です。私はconfig.phpを持っています

<?php

function db_connect(){
   $conn = new mysqli('localhost', 'root', 'leave_black_if_no_password_set', 'database_name');
   if (!$conn) {
      return false;
   }
   $conn->autocommit(TRUE);  
    return $conn;

}

?>

//構成を終了します

ここで、他のファイルでconfig.phpを呼び出すだけです。 `include'config.php';

    <html>
    <body>
    <?php 
    include 'php/config.php';
    $dbCon = db_connect();


    $sql = "Select * from Customer";
    $result = mysqli_query($dbCon, $sql);
    $number= mysqli_num_rows($result);

   while($row=mysqli_fetch_array($result)){
    {
        echo  $row['column_name'];
        echo '<br>';
    }
//close conn
 mysqli_close($dbCon);
    ?>
        </body>
    </html> 
于 2013-01-22T02:32:43.010 に答える