php搜索查询数据库数据
1增删改只在SQL语句上不同。都使用的是PHP的query函数。如果是MSSQL数据库那么query函数就是mssql_query($sql);如果是MYSQL那就是mysql_query($sql);2操作原理就是(1)首先建立与数据库服务器的连接(2)选择要操作的数据库(3)利用数据库的会话句柄来对所选择的数据库进行SQL语句查询给你举例。查询XXX表的所有数据-----建立数据库连接部分---<php$hostname="数据库所在的计算机名或者IP地址";$dbuser="sa";//数据库的用户名$dbpass=""; //数据库密码$dbname="test";//要访问的数据库名 $link=@mssql_connect($hostname,$dbuser,$dbpass) or die ("连接数据库出错"); //$link就是以后查询用到的会话句柄。@mssql_select_db($dbname);//进行增删改的查询$sql="select from XXX";@mssql_query($sql,$link);>到此,SQL语句就执行完了。
你和我前二天的需求一样,都是在主站上调用bbs的内容 不过如果你的bbs和主站的数据库在一台服务器上的话,你的方法有可能导致dedecms解析模板出问题,因为你select_mysql_db了我的解决方法是在bbs上开一个类似api的东东,用file_get_content远程抓取过来 用的是这篇文章里说的例子: dedecms模板中使用php语法 http://wwwphperzcom/phpcms/phpcms/061933G20113371html
查看一下代码:
<php// 获取表单提交值
$student_id = intval(trim($_POST['student_id']));
// 页面表单 可以放单独的html文件中,如果放单独的html页面中 form 的action的地址要改成下面的PHP文件名
echo '<form action="" method="post">
<input type="text" name="student_id" value="{$student_id}"/>
<input type="submit" name="submit" value="查询"/>
</form>';
// 当有数据提交时
if ($student_id)
{
$con= mysql_connect("localhost","root","111") or die("连接错误");
mysql_select_db("examination",$con);
// 查询
$sql = "SELECT FROM tablename WHERE student_id = $student_id ";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);
// 输出
echo '学号:'$row['student_id']'<br>姓名:'$row['name']'<br>性别:'$row['gender']'<br>分数:'$row['score'];
}
>
我不知道你这是什么,但是觉得你可以试试{dede:field name='title' php='yes'} 或者{dede:field name='title' runphp='yes'}注意:yes上有引号哦
CREATE TABLE `dede_online` (
`id` int(10) NOT NULL auto_increment,
`user` varchar(30) NOT NULL default '',
`logintime` varchar(15) NOT NULL default '',
`ip` varchar(16) NOT NULL default '',
`dates` varchar(10) NOT NULL default '',
`online` int(2) NOT NULL default '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
根据这个表:
$_guest_ip = $_SERVER['REMOTE_ADDR']; //取得访问IP
$_user_name = //这里因为是要取得用户名,所以要根据DEDE的COOKIES做处理,我就不写了
$_login_time = time();
$_date_today = date("m")"-"date("d")"-"date("Y"); //月-日-年
$_online = "1";
然后根据你的DEDE系统的DB类,
如果还是 $dsql的话那么就是:
$dsql->ExecuteNoneQuery("INSERT INTO dede_online (`user` , `logintime`, `ip`, `dates`, `online`) VALUES ('"$_user_name$"','"$_login_time"','"$_guest_ip"','"$_date_today"','"$_online"';");
把上面这段代码插入到 文章模板 记录点击 里面,就OK
解决方法:
空间商的mysql服务器异常,这个直接问空间商,或用IP反查工具,查询 同IP下的网站访问是否正常来判断。如果确认是空间商的mysql服务异常,直接和空间商反馈即可。
上面说的第2个和第3个原因,都是人为导致的原因,操作不当或好奇心驱使导致的。在空间控制面板中修改了mysql数据库访问密码,也要同步修改dedecms的数据库配置文件commonincphp,否则将会提示数据库无法连接的错误。登录ftp,下载找到/data/commonincphp到本地,然后使用文本编辑打开,直接修改正确的就可以了。
织梦dedecms数据库不在同一个服务器,数据调用方法!
data/commonincphp
这个是保存数据库连接信息的,改下这个文件就可以了。
<php
//数据库连接信息
$cfg_dbhost = ‘localhost’;
$cfg_dbname = ‘dedecmsv56gbk’;
$cfg_dbuser = ‘root’;
$cfg_dbpwd = ‘abcdefghijk’;
$cfg_dbprefix = ‘dede_’;
$cfg_db_language = ‘gbk’;
>
第一个要改的就是cfg_dbhost数据库服务器地址,
如果不是和WEB空间在同一个服务器,填上IP就可以了,
在同一个服务器一般使用localhost或者127001
$cfg_dbhost = ’123456789123′;
$cfg_dbname = ”; 这个是数据库名称
$cfg_dbuser = ”; 这个是数据库的用户名
$cfg_dbpwd = ”; 数据库密码
$cfg_dbprefix = ‘dede_’; 这个是数据表的前缀
$cfg_db_language = ‘gbk’; 这个是数据库的编码,一定要两个DEDE站点的编码一样,如果不同就会出现乱码。
注意一下哦,有很多空间商是不允许外部链接到数据库的,所以你要向他们咨询下是否可以在外站连接。
同一服务器,不同数据库!
{dede:sql sql="SELECT id as tmd,title FROM `另外个站的数据库名``dede_archives` ORDER BY tmd desc LIMIT 0,10"}
<li><a href=https://wwwxiaoyuanicom/plus/viewphpaid=[field:tmd/] title="[field:title/]" target="_blank">[field:title /]</a></li>
{/dede:sql}
0条评论