PHP连接sql server 2008进行页面条件查询

时间:2022-09-23 22:27:21
下面这段代码是连接Mysql数据库进行查询的,那现在要查询的数据库变成sql server 2008,这段代码该如何改动呢?php.ini的配置已经完成了,测试连接也成功的。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>

<body>
<h1>查询学生页面</h1>

<?php
//造链接对象。取出用户传的值
    $db = new MySQLi("localhost","root","123456","info");
$tj = "  1=1 ";//条件默认恒成立,在去下面判断下,如果传值就进if
$name = "";//把他定义在这仅仅是去给他改值,这样这个页面都能访问到

if(!empty($_POST["name"]))//取name //加上一个叹号!如果name里面为非空就近下面
{
    $name = $_POST["name"];//把这个变量定义在哪个花狐号{}里面他就在哪里起作用,出去就找不到,不能用了
    $tj = " name like '%{$name}%' ";    
}
$tj = " name like'%{$name}%'";//如果第一次查询$name是空的,就默认表里所有数据


?>


<form action="audi.php" method="post"><!--指向当前页面并且用post方式传一个值-->
<!--根据一个关键字来查到所有的结果-->
<div>请输入姓名:
<input type="text" name="name"/><!--输入框.表单元素文本框-->
<input type="submit" value="查询" /><!--查询按钮-->
</div>
<dr>


<table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>学号</td>
        <td>姓名</td>
    </tr>

    <?php
    //造链接对象
    //$db = new MySQLi("localhost","root","511108","text");移到上面了是一样的
    //写SQL语句
    $sql = "select * from stu where {$tj}";//拼成一个完整的SQL语句
    //执行
    $result = $db->query($sql);
    //读取数据
    $attr = $result->fetch_all();//返回的值用$attr存,得个二维数组,用foreach循环
    //foreach循环便利显示
    foreach($attr as $v)//$attr便利下取出每个小数据$v
    {
        $v[1];
        //str_replace相当于查找替换。要查找的是关键字$name就是<span style='color:red'>{$name}</span>颜色替换的是$v[1]
        $str = str_replace($name,"<mark>{$name}</mark>",$v[1]); 
        echo "<tr>
        <td>{$v[0]}</td>
        <td>{$str}</td>
    </tr>";    
    }   
    ?>

</table>
</body>
</html>

3 个解决方案

#1


php.ini里打开extension=php_pdo_sqlsrv_7_nts_x64.dll

数据库链接改为:

  $dsn = "sqlsrv:server=(local);Database=info";
$db_user = "root_info";
$db_pass = "pass_info";
$db = new PDO($dsn, $db_user, $db_pass);
  

其他都不用改

#2


引用 1 楼 hongmei85 的回复:
php.ini里打开extension=php_pdo_sqlsrv_7_nts_x64.dll

数据库链接改为:

  $dsn = "sqlsrv:server=(local);Database=info";
$db_user = "root_info";
$db_pass = "pass_info";
$db = new PDO($dsn, $db_user, $db_pass);
  

其他都不用改


报这个错
PHP连接sql server 2008进行页面条件查询

#3


你不是说测试连接也成功的吗?你是怎么测试连接成功的?把你的连接代码贴出来看看啊!

#1


php.ini里打开extension=php_pdo_sqlsrv_7_nts_x64.dll

数据库链接改为:

  $dsn = "sqlsrv:server=(local);Database=info";
$db_user = "root_info";
$db_pass = "pass_info";
$db = new PDO($dsn, $db_user, $db_pass);
  

其他都不用改

#2


引用 1 楼 hongmei85 的回复:
php.ini里打开extension=php_pdo_sqlsrv_7_nts_x64.dll

数据库链接改为:

  $dsn = "sqlsrv:server=(local);Database=info";
$db_user = "root_info";
$db_pass = "pass_info";
$db = new PDO($dsn, $db_user, $db_pass);
  

其他都不用改


报这个错
PHP连接sql server 2008进行页面条件查询

#3


你不是说测试连接也成功的吗?你是怎么测试连接成功的?把你的连接代码贴出来看看啊!