我已经安装了xampp并确保所有服务器都在运行。我对php和sql完全陌生
我配置了一个名为 test
还有一张table叫 sensor
.
我添加了一个名为 arduino
使用密码。
请忽略评论
<?php
// Prepare variables for database connection
$dbusername = "arduino";
$dbpassword = "xxx";
$server = "localhost";
// Connect to your database
$dbconnect = new PDO('mysql:host=localhost;dbname=test;charset=utf8mb4', 'arduino', 'test');
// Prepare the SQL statement
$sql = "INSERT INTO test.sensor (value) VALUES ('".$_GET["value"]."')";
// Execute SQL statement
// mysql_query($sql);
?>
我想用这个设置从arduino获取数据。在将这个设置连接到arduino之前,我想确保它能够通过传递 http://localhost/write_data.php?value=100
到浏览器。我原以为这会用 id
, timestamp
以及 value (of 100)
. 它没有。
我跟他有点麻烦 $dbconnect = mysql_pconnect($server, $dbusername, $dbpassword);
因此用 $db = new PDO('mysql:host=localhost;dbname=test;charset=utf8mb4', 'arduino', 'test');
我也有麻烦 mysql_query($sql);
. 所以我现在已经把它注解掉了。
我怎样才能让它工作?我在哪里可以找到mysql替换的易于遵循的文档?
根据答案更新代码
<?php
$dbusername = "arduino";
$dbpassword = "test";
$server = "localhost";
$dbconnect = new PDO('mysql:host=localhost;dbname=test;charset=utf8mb4', 'arduino', 'test');
$stmt = $dbconnect->prepare('insert into sensor(value) values(:val)');
$stmt->bindParam(':val', $_GET["value"], PDO::PARAM_INT);
$stmt->execute();
print "procedure returned $return_value\n";
?>
2条答案
按热度按时间8ehkhllq1#
在这个例子中。。必须在查询中绑定get参数
example:-
ss2ws0br2#
您没有在代码中执行sql语句。尝试执行以下实现:
对于pdo的详细研究,请参考这里的文档http://php.net/manual/en/pdo.prepared-statements.php