0

解決策を検索しましたが、何も機能していないようです。ポート 3307 (web アフリカ) 南アフリカを追加しましたが、それでもこのエラーが発生します

データのロード:
致命的なエラー: /home/sea503/public_html/phpsqlinfo_addrow.php:11 でメッセージ「SQLSTATE[HY000] [2002] Connection timed out」を含むキャッチされない例外「PDOException」スタック トレース: 0 /home/sea503/public_html/phpsqlinfo_addrow .php(11): PDO->__construct('mysql:host=mysq...', NULL, NULL) 1 {main}が11行目の/home/sea503/public_html/phpsqlinfo_addrow.php
で スローされました

私のコードは次のようになります

<?php
require("dbinfo.php");// database connections
// Get parameters from URL
$lat = $_GET["lat"];
$lng = $_GET["lng"];
$name = $_GET["name"];
$time = $_GET["time"];
$description = $_GET["description"];
$sighting = $_GET["sighting"];
//Connect to database
$dbh = new PDO("mysql:host=mysql.spri.co.za;port=3307;dbname=kruger_park_live",$sean_sql,$########);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
    // Prepare INSERT statement new sigting
        $stmt3 = $dbh->prepare("INSERT INTO tbl_maps (ID, map_client_name, client_time, client_lat, client_lng, client_description, client_sighting)  VALUES (NULL, ?, ?, ?, ?, ?, ?)");
        // Assign parameters
        $stmt3->bindParam(1,$name);
        $stmt3->bindParam(2,$time);
        $stmt3->bindParam(3,$lat);
        $stmt3->bindParam(4,$lng);
        $stmt3->bindParam(5,$description);
        $stmt3->bindParam(6,$sighting);
        $stmt3->execute();
        $data[] = array("name"=>$name, "lat"=>round($lat,6), "lng"=>round($lng,6),"time"=>$time,"description"=>$description,"sighting"=>$sighting);
        //Data for success
        echo json_encode($data);
}
catch(PDOException $e) {
    echo "Error Message.". $e->getMessage() ;// Remove or modify after testing 
    file_put_contents('PDOErrors.txt',date('[Y-m-d H:i:s]').", phpsqlinfo_addrow.php, ". $e->getMessage()."\r\n", FILE_APPEND);  
}
//Close the connection
$dbh = null; 
?>

そして、このようなdbinfo.php

<?php
 $host= "****;port=3307"; $username="****"; $password="****"; $database="****"; $dbname="****";


?>
4

2 に答える 2

0

あなたがやっている

$dbh = new PDO("mysql:host=...;dbname=...,$s..,$P..);
      // I removed the actual values for your security

しかし、あなたの変数は

$host= ""; 
$username="..."; 
$password="...";
$database="...";

私はあなたがやりたいと信じています

$dbh = new PDO("mysql:host=$host;dbname=$database",$username,$password);

変数を設定しましたが、値を変数名として使用していました

これは、エラー メッセージのこの行を見れば明らかです -

PDO->__construct('mysql:host=mysq...', NULL, NULL)
                                       ^^^^  ^^^^
于 2013-05-27T07:08:37.593 に答える
0

""シングルにしました''

$dbh = new PDO("mysql:host=myhost;port=xxxx;dbname=db_name",$sean_sql,$########);

$dbh = new PDO('mysql:host=myhost;port=xxxx;dbname=db_name','$username','$password');
于 2013-05-27T07:15:47.973 に答える