使用.htx文件

时间:2016-08-16 21:46:15

标签: php mysql

“add.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”从weatherlink开始由本地C:\ WeatherLink \但天气链接上传此文件并转换为“add.php”在服务器上的文件夹http://my_website/weather/,此文件夹还包括和文件“connect.php”

请任何帮助 如果很容易,请在“add.htx”中使用wright方法在“add.htx”中添加正确的代码

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

感谢

2 个答案:

答案 0 :(得分:0)

这是你做的吗?

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

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

Php没有运行你的include('connect.php')文件。 那么,我认为问题不在于代码。我认为问题出在你的特权上。将您的服务器用户名和密码与脚本中定义的用户名和密码进行比较。

//连接失败:用户''@ localhost'拒绝访问(使用密码:否)//请检查您的权限

答案 1 :(得分:0)

对于其他人我给出了解决方案 首先感谢Script47(打开我的眼睛,看看mysql_ *必须改为mysqli _ *)

第二我创造我认为更好的方式来打电话 “config.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个文件 连接db并关闭db

“config.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() {
 	 $("#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>
	<script>
 $(document).ready(function() {
 	 $("#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>
	</html>

是每10分钟将“'add.htx”的结果发送到db auto而没有“send_db.html”代码的任何其他方法 ;

再次感谢第一个问题,如果有人知道,我的第二个问题解决方案请帮助