
正文
php读取485通讯数据 php读取数据输出html
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php如何通过读取数据库?
我建议一下吧,文本数据库的例子本来太多,但是为了逻辑简化,最好通过专门接口实现文件与数据的转换,可以采用我下面的模板编写:
?php
//文件最前面定义两个全局变量,数据库文件名和用户数组
$pwd_db_file='db.txt';
$UserPassword=array();
//下面的pwd_db_read函数,把文件内容读入到全局数组中
function pwd_db_read(){
global $pwd_db_file, $UserPassword;
$fp=fopen($pwd_db_file,'r');
while ($s=fgets($fp)){
list($usr,$pwd)=explode('|', $s);
$UserPassword[$usr]=$pwd;
}
fclose($fp);
}
//下面的pwd_db_write函数保存数组内容到文件中
function pwd_db_write(){
global $pwd_db_file, $UserPassword;
fp=fopen($pwd_db_file, 'w');
foreach ($UserPassword as $usr=$pwd)
fputs($fp,"$usr|$pwd\n");
fclose($fp);
}
//有了上面的全局变量和函数,要写什么功能都简单
//下面假释本脚本调用的时候通过reg.php?job=adduser=...pass=...
//的格式进行调用,job为add表示添加用户,del表示删除,modi表示修改
//另外的user和pass表示用户名或者密码,job不是以上内容表示登录
//主程序一开始就打开数据库
pwd_db_read();
//下面判断功能
if ($jon=='add'){
if (array_key_exists($user,$UserPassword)) echo "用户 $user 已经存在!"
else $UserPassword[$user]=$pass;//就一句话,简单吧
}elseif (job=='del'){
unset($UserPassword[$user]);//你自己考虑编写是否确认删除的内容
}elseif ($job=='modi'){
if (array_key_exists($user,$UserPassword)) $UserPassword[$user]=$pass;//和添加是不是有点类似
else echo "用户 $user 不存在!"
}else{
if ($UserPassword[$user]==$pass){
echo '密码正确。';
//接下来可能要做许多事情
}else echo '密码错误!';
}
//程序最后保存数据库修改
pwd_db_write();
?
看得懂吗,没有上机调试,语法问题可能难免,如果发现不明白的问题请补充。
相关问答
Q1: php如何利用串口连接电路板
php在部分应用偶尔和串口直接通信,需要和rs232、rs485接口上的数据进行通信。
php与串口通信,基本有两种途径,通过php扩展dio,下载dio扩展:http://在php.ini打开dio扩展。
dio开启后可以通过dio_opendio_read等函数进行通信。
但dio默认只是在linux下的,好像pecl也有编译后的php_dio.dll,但我在win下测试其实无法正常使用,可能是我php版本太高,dio扩展如果能打开,网上自然有很多实例。
Q2: PHP高手帮忙看下,这个编的哪里有问题??谢谢
路径不对,你前面使用的是点(.)说明是在根目录下寻找(你要确定在你网站根目录下有这些中文的文件夹存在),而上一级目录是两个点(..)。请注意他们的区别
Q3: php读取数据库资料
修改一下你的程序,把下面这三行:
for($i=0;$imysql_num_fields($result);$i++)
{
echo "$row[$i]";
}
修改为:
for($i=0;$imysql_num_fields($result);$i++)
{
echo "$i = $row[$i]br";
}
你就知道是什么原因了。
或者下面这样:
echo "pre";
print_r($row);
echo "/pre";
Q4: php读取数据库信息的几种方法
连接到一个 url 地址为localhost 、 端口为 3306 php读取485通讯数据的mysql服务器上。mysql服务器php读取485通讯数据的帐号是"root",密码是"9999"。mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc。表 abc 一共为两列,列名分别是 "id" 和 "name" ,将 abc 里的所有数据读出来。
?
$dbh = @mysql_connect("localhost:3306","root","9999");
/* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */
if(!$dbh){die("error");}
/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */
@mysql_select_db("ok", $dbh);
/* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */
$q = "SELECT * FROM abc";
/* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */
?
br /
!--========= 方法一 =========--
br /
?
$rs = mysql_query($q, $dbh);
/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */
if(!$rs){die("Valid result!");}
echo "table";
echo "trtdID/tdtdName/td/tr";
while($row = mysql_fetch_row($rs)) echo "trtd$row[0]/tdtd$row[1]/td/tr";
/* 定义量变(数组)row,并利用while循环,把数据一一写出来.
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.
$row[0] 和 $row[1] 的位置可以换*/
echo "/table";
?
br /
!--========= 方法二 =========--
br /
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_object($rs)) echo "$row-id $row-name br /";
/* id和name可以换位置 */
?
br /
!--========= 方法三 =========--
br /
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_array($rs)) echo "$row[id] $row[name] br /";
/* id和name可以换位置 */
?
!--========= 方法三最快 =========--
?
@mysql_close($dbh);
/* 关闭到mysql数据库的连接 */
?
关于php读取485通讯数据和php读取数据输出html的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







