2016-08-16 112 views
0

「add.htx」創建connect.php有需要在.htx文件

<?php 
 
$servername = "my_server_name"; 
 
$username = "my_username"; 
 
$password = "my_pwd"; 
 
$dbname = "my_db_name"; 
 

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

 
$sql = "INSERT INTO Drama_Gr (Date, Time, Cont, Temp, Hum, Pres, Rain_Y, Rain_M, Rain, Rain_Rate, Wind, Wind_Dir) 
 
VALUES ('<!--date-->', '<!--time-->', '<!--ForecastStr--> frc', '<!--outsideTemp-->', '<!--outsideHumidity-->', '<!--barometer-->', '<!--totalRain-->', '<!--monthlyRain-->', '<!--dailyRain-->', '<!--rainRate-->', '<!--windSpeed-->', '<!--windDirection-->bfr')"; 
 

 
if ($conn->query($sql) === TRUE) { 
 
    echo "New record created successfully"; 
 
} else { 
 
    echo "Error: " . $sql . "<br>" . $conn->error; 
 
} 
 

 
$conn->close(); 
 
?>

運行此文件與weatherlink ,並將結果輸出文件 「add.php」

<?php 
 
$servername = "my_server_name"; 
 
$username = "my_username"; 
 
$password = "my_pwd"; 
 
$dbname = "my_db_name"; 
 

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

 
$sql = "INSERT INTO Drama_Gr (Date, Time, Cont, Temp, Hum, Pres, Rain_Y, Rain_M, Rain, Rain_Rate, Wind, Wind_Dir) 
 
VALUES ('17/08/16', ' 0:11', ' Increasing clouds with little temperature change. frc', '24.6', '52', '1012.6', '291.2', '11.2', '0.0', '0.0', '1.6', 'SSEbfr')"; 
 

 
if ($conn->query($sql) === TRUE) { 
 
    echo "New record created successfully"; 
 
} else { 
 
    echo "Error: " . $sql . "<br>" . $conn->error; 
 
} 
 

 
$conn->close(); 
 
?>

它確定與這種方式我創建一個數據庫與我的氣象站 問題是我想給這個代碼與我的地區的氣象站和其他人一起運行,並創建從我的數據庫表從其他氣象站,但我不希望將此代碼包含在我的數據庫連接中。 我認爲正確的方法是創建一個像 「connect.php」

<?php 
 
$servername = "my_server_name"; 
 
$username = "my_username"; 
 
$password = "my_pwd"; 
 
$dbname = "my_db_name"; 
 

 
mysql_connect($hostname, $username, $password) OR DIE("Unable to connect to database! Please try again later."); 
 
mysql_select_db($dbname); 
 
?>

一個文件,並調用該文件就像

<?php include("connect.php");?>

我嘗試在「add.htx」中添加此代碼但在「add.php」中出現波紋管錯誤。 連接失敗:用戶'@'localhost'的訪問被拒絕也許我認爲,因爲文件「add.htx」從本地C:\ WeatherLink \ Weatherlink開始,但weatherlink上傳此文件並轉換爲「add.php」在服務器上的文件夾如http://my_website/weather/,此文件夾還包括文件「 connect.php」

請任何幫助 ,如果很容易讓我在正確的代碼‘add.htx’與賴特的方式在增加‘add.htx’

<?php include("connect.php");?>

謝謝

+0

*您應該從*'mysql_ *'因爲它已經切換[官方](HTTP:// PHP。 net/manual/en/migration55.deprecated.php)已棄用。使用['mysqli_ *'](http://php.net/manual/en/book.mysqli.php)或[PDO](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)** ** [準備語句(http://php.net/manual/en/pdo.prepared-statements.php)。 – Script47

+0

非常感謝你 –

回答

0

這是你做了什麼?

<?php 
Include('connect.php'); 

$servername = "my_server_name"; 
$username = "my_username"; 
$password = "my_pwd"; 
$dbname = "my_db_name"; 
...... 
?> 

Php沒有運行您的include('connect.php')文件。 Bt然後,我認爲問題不在於代碼。我認爲問題在於你的特權。比較您的服務器用戶名和密碼與您在腳本中定義的用戶名和密碼。

//連接失敗:拒絕訪問用戶「」 @「localhost」的(使用密碼:NO)//請做檢查烏爾特權

+0

它確定我發佈解決方案謝謝 –

0

其他人我給予解決 首先感謝Script47(開放我的眼睛,看到mysql_ *必須改爲mysqli_ *)

第二我創建我認爲更好的方式來呼叫 「配置。PHP的 「

在這裏碼新鮮變化 」add.htx「

<?php 
 
include("config.php"); 
 
include("opendb.php"); 
 

 

 

 
$sql = "INSERT INTO Drama_Gr (Date, Time, Cont, Temp, Hum, Pres, Rain_Y, Rain_M, Rain, Rain_Rate, Wind, Wind_Dir) 
 
VALUES ('<!--date-->', '<!--time-->', '<!--ForecastStr--> frc', '<!--outsideTemp-->', '<!--outsideHumidity-->', '<!--barometer-->', '<!--totalRain-->', '<!--monthlyRain-->', '<!--dailyRain-->', '<!--rainRate-->', '<!--windSpeed-->', '<!--windDirection-->bfr')"; 
 

 
if ($conn->query($sql) === TRUE) { 
 
    echo "New record created successfully"; 
 
} else { 
 
    echo "Error: " . $sql . "<br>" . $conn->error; 
 
} 
 

 

 
include("closedb.php"); 
 
?>

我創建3個文件 與數據庫連接和關閉數據庫

」 配置。 php「

<?php 
 
$servername = "my_host_name"; 
 
$username = "my_username"; 
 
$password = "my_pwd"; 
 
$dbname = "_my_database_name"; 
 
?>

後,我創建一個腳本 「opendb.php」

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

,我認爲是正確的創建和腳本關閉連接時上傳數據DB,將此腳本命名爲 「closedb.php」

<?php 
 
// close my weather db connection 
 

 
mysqli_close($conn); 
 
?>

,最終結果以 「add.php」

New record created successfully

感謝,我希望這個有用的和他人

現在最後一個問題是此代碼「add.php」記錄刷新此頁時更新db行 我在下面創建一個腳本來自動刷新從氣象站多個文件在一個頁面,但必須在本頁面打開自動更新新的結果數據庫,並命名此頁

「send_db.html」

<html> 
 
<head> 
 
<!-- For ease i'm just using a JQuery version hosted by JQuery- you can download any version and link to it locally --> 
 
<script src="http://code.jquery.com/jquery-latest.js"></script> 
 
<script> 
 
$(document).ready(function() { 
 
    \t $("#responsecontainer").load("http://www.dramaweather.gr/weather2/uploadwl/mysql/add.php"); 
 
    var refreshId = setInterval(function() { 
 
     $("#responsecontainer").load('http://www.dramaweather.gr/weather2/uploadwl/mysql/add.php?randval='+ Math.random()); 
 
    }, 900000); 
 
    $.ajaxSetup({ cache: false }); 
 
}); 
 
</script> 
 
\t <script> 
 
$(document).ready(function() { 
 
    \t $("#responsecontainer").load("http://www.dramaweather.gr/weather2/uploadwl/mysql/add_Serres.php"); 
 
    var refreshId = setInterval(function() { 
 
     $("#responsecontainer").load('http://www.dramaweather.gr/weather2/uploadwl/mysql/add_serres.php?randval='+ Math.random()); 
 
    }, 900000); 
 
    $.ajaxSetup({ cache: false }); 
 
}); 
 
</script> 
 
</head> 
 
<body> 
 
    
 
<div id="responsecontainer"> 
 
</div> 
 
</body> 
 
\t </html>

可以通過任何其他方式將「'add.htx」的結果每隔10分鐘發送到db auto,而不需要「send_db.html」代碼 ;再次

感謝第一個問題,如果有人知道我對我的第二個問題的解決方案,請幫助