当方、初心者です。
ご教示のほど宜しくお願い致します。
前提・実現したいこと
下記をレンタルサーバーでそのまま実装しようとしています。 [https://developers.google.com/maps/solutions/store-locator/clothing-store-locator](https://developers.google.com/maps/solutions/store-locator/clothing-store-locator) 上記手順通り、全て設定したのですが、実行し、chromeのデベロッパツールでみると、PHPでMySQLに接続できていないようでした。
発生している問題・エラーメッセージ
<エラー内容> PHPでMySQLに接続できていないか、確認のため下記URL入力。 URL入力: https://YYY/storelocator.php ブラウザに表示されるエラー: Warning: mysql_connect(): No such file or directory in home/YYY/app/webroot/storelocator.php on line 12 Not connected : No such file or directory
該当のソースコード
「phpsqlsearch_dbinfo.php」(データベース接続情報)を、「storelocator.php」に取り込んでデータベースに接続しに行くのですが、接続できずエラーになります。 ※上記両方のphpとも、webrootフォルダ下に設置しています。 (さくらレンタルサーバー、PHP 5.6.40、でサイトを作り実行) <設定内容> usernameをhoge,passwordをfuga,database名をsampledb とします。 上記本文説明とおり、 ■phpsqlsearch_dbinfo.phpを <?php $username="hoge"; $password="fuga"; $database="hoge-sampledb"; ?> ※上記本文説明例 <?php $username="username"; $password="password"; $database="username-databaseName"; ?> ■storelocator.phpは説明本文例そのままで、 <?php require("phpsqlsearch_dbinfo.php"); // Get parameters from URL $center_lat = $_GET["lat"]; $center_lng = $_GET["lng"]; $radius = $_GET["radius"]; // Start XML file, create parent node $dom = new DOMDocument("1.0"); $node = $dom->createElement("markers"); $parnode = $dom->appendChild($node); // Opens a connection to a mySQL server **$connection=mysql_connect (localhost, $username, $password);//←12行目 if (!$connection) { die("Not connected : " . mysql_error()); }** // Set the active mySQL database $db_selected = mysql_select_db($database, $connection); if (!$db_selected) { die ("Can\'t use db : " . mysql_error()); } // Search the rows in the markers table $query = sprintf("SELECT id, name, address, lat, lng, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20", mysql_real_escape_string($center_lat), mysql_real_escape_string($center_lng), mysql_real_escape_string($center_lat), mysql_real_escape_string($radius)); $result = mysql_query($query); $result = mysql_query($query); if (!$result) { die("Invalid query: " . mysql_error()); } header("Content-type: text/xml"); // Iterate through the rows, adding XML nodes for each while ($row = @mysql_fetch_assoc($result)){ $node = $dom->createElement("marker"); $newnode = $parnode->appendChild($node); $newnode->setAttribute("id", $row['id']); $newnode->setAttribute("name", $row['name']); $newnode->setAttribute("address", $row['address']); $newnode->setAttribute("lat", $row['lat']); $newnode->setAttribute("lng", $row['lng']); $newnode->setAttribute("distance", $row['distance']); } echo $dom->saveXML(); ?>
試したこと
■phpsqlsearch_dbinfo.phpの$databaseを変更しましたが、結果は同じでした。 <?php $username="hoge"; $password="fuga"; $database="sampledb"; ?> ■storelocator.phpの12行目のlocalhostを'localhost'に変更しましたが、結果は同じでした。 <?php require("phpsqlsearch_dbinfo.php"); // Opens a connection to a mySQL server **$connection=mysql_connect ('localhost', $username, $password);//←12行目 if (!$connection) { die("Not connected : " . mysql_error()); }**
回答2件
あなたの回答
tips
プレビュー