温度データとタイムスタンプをデータベースに保存し、その値を表に表示するためのPHPコードを作成しようとしています。温度データはhttpポストを使用してデータベースに送られます。ここhttp postとPHPを使ってデータベースに値を保存できません
コード:
のindex.php(テーブルを表示)
<?php
include("connect.php");
$link=Connection();
$sql="SELECT * FROM `temptrac_temp` ORDER BY `timestamp` DESC";
$result=mysqli_query($link, $sql);
/* determine number of rows result set */
$row_cnt = $result->num_rows;
printf("Result set has %d rows.\n", $row_cnt);
?>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Arduino thermometer control panel</title>
<link rel="stylesheet" href="./css/index.css?v=1.0">
</head>
<body>
<div class="container">
<p>Temperature Arduino checker</p>
<p>The temperature is:</p>
<table class="normal" border="2" cellspacing="1" cellpadding="1">
<tr>
<td> Temperature </td>
<td> Timestamp </td>
<td> Status </td>
</tr>
<?php
if($result!==FALSE){
while($row = mysqli_fetch_array($result)) {
if($row["temp"] <= 8){
printf("<tr><td> %s</td><td> %s </td><td> Ok! </td></tr>",
$row["temp"], $row["timestamp"]);
}
if($row["temp"] > 8){
printf("<tr><td> %s</td><td> %s </td><td> Alert! </td></tr>",
$row["temp"], $row["timestamp"]);
}
}
mysqli_free_result($result);
mysqli_close($link);
}else{
printf("there is an error");
}
?>
</table>
</div>
</body>
</html>
connect.php(MySQLサーバへの接続)
<?php
function Connection(){
/* php site version doesn't like so much "", prefer '' */
$mysqli = new mysqli('localhost', 'temptrac_temp', 'temptrac_temp2846', 'temptrac_temp');
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
/* fuck maaan! check the function name return*/
return $mysqli;
}
?>
add.php(新を書きますデータベースの行)
<?php
include("connect.php");
$link = Connection();
$temp = mysqli_real_escape_string($_POST["temp"]);
//$lat =$_POST["lat"];
//$lng =$_POST["lng"];
$sql = "INSERT INTO temptrac_temp (ID, temp, timestamp) VALUES (NULL, temp=?, CURRENT_TIMESTAMP)";
$stmt = $link->prepare($sql);
$stmt->bind_param("d", $temp);
$stmt->execute();
//mysqli_query($link, $query);
$stmt->close();
$link->close();
header("Location: index.php");
exit();
?>
私はhttp投稿をしていますhttps://www.hurl.it/
ページレスポンスでは、接続が閉じられていないように、インデックスページのコードを見る代わりに常に(空)と表示されます。
データベースに新しい行を1回だけ書き込むことができました。時には他のいくつかのノー....と動作するようなものです。
header( "Location:index.php");
)が最後の行であり、
出口(続いています。
ですので、すべての手順を実行する必要があります。ここ
私はこのビデオhttps://youtu.be/sJdWuPHKRRY?t=11m1sに続くSQLインジェクションを防止するために、HTTPポストのスクリーンショット
。バインド機能の使い方が分かりません。ここで私は "uid =?" 「?」だけではない。どのように適切な方法で私のSQLクエリで動的な私の$ temp変数を含めるには?
tnx
あなたは私に言ったように既に試みました。動作しません。しかし、この声明がどのように機能するかは私には分かりません。私は=で多くのバージョンを参照してください?または?、いくつかのもの:nameまたは:value。 –