当前位置:Gxlcms > PHP教程 > 一段查询代码多处使用可以吗解决办法

一段查询代码多处使用可以吗解决办法

时间:2021-07-01 10:21:17 帮助过:12人阅读

一段查询代码多处使用可以吗


$bliang='这是个变量'
$sql=SELECT * FROM A表 WHERE cart LIKE '%.$bliang.%'
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){

…………
}


上边是查询代码 然后我使用它时 只需要这样 比如 $row[$bliang='分类2'] 这样就可以分类2下的内容

$row[$bliang='分类3'] 就显示分类3下的内容

这样的需求 要怎么样实现呢

------解决方案--------------------
写成函数啊,我也是刚学php,我给你一个我自己做的类参考下吧,所有数据库操作都在这里了

//
------解决方案--------------------
PHP version 5.3
// 数据库操作类 Order by phuai007
// Date 2014/2
class my_sql {
public $dsn = 'mysql:host=localhost;dbname=lif2';//host为数据库连接地址,dbname为数据库名
public $user = 'root'; //数据库连接用户名
public $pass = '123456'; //对应的密码
public $names = 'SET NAMES UTF8'; //数据库查询编码
//查询数据库返回结果
public function sql_select($sql) {
try {
$dbh = new PDO($this->dsn, $this->user, $this->pass);
$dbh->query($this->names);
return $dbh->query($sql);
$dbh = null;
}
catch(Exception $e) {
echo 'error: ' . $e->getMessage();
}
}
//操作单条数据(更新/删除/插入),无返回结果
public function sql_one($sql) {
try {
$dbh = new PDO($this->dsn, $this->user, $this->pass);
$dbh->exec($this->names);
$dbh->exec($sql);
$dbh = null;
}
catch(Exception $e) {
echo 'error: ' . $e->getMessage();
}
}
//操作多条数据(更新/删除),无返回结果
public function sql_more($sql, $str) {
try {
$dbh = new PDO($this->dsn, $this->user, $this->pass);
$dbh->exec($this->names);
foreach ($str as $arrs) {
$dbh->exec($sql . $arrs);
}
$dbh = null;
}
catch(Exception $e) {
echo 'error: ' . $e->getMessage();
}
}

//参数化查询数据库返回结果(单条)
public function cs_sql_select($sql,$str) {
try {
$dbh = new PDO($this->dsn, $this->user, $this->pass);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->query($this->names);
$stmt = $dbh->prepare($sql);
$stmt->bindValue(":key", $str ,PDO::PARAM_INT);
$stmt->execute();
return $stmt;
$dbh = null;
}
catch(Exception $e) {
echo 'error: ' . $e->getMessage();
}
}
//参数化查询操作多条数据(删除/更新),无返回结果
public function cs_sql_more($sql, $str) {
try {
$dbh = new PDO($this->dsn, $this->user, $this->pass);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->exec($this->names);
foreach ($str as $arrs) {
$stmt = $dbh->prepare($sql);
$stmt->bindValue(":key", $arrs,PDO::PARAM_INT);
$stmt->execute();
}
$dbh = null;
}
catch(Exception $e) {
echo 'error: ' . $e->getMessage();
}
}
//参数化查询操作单条数据(删除/更新),无返回结果
public function cs_sql_one($sql, $str) {
try {
$dbh = new PDO($this->dsn, $this->user, $this->pass);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->exec($this->names);
$stmt = $dbh->prepare($sql);
$stmt->bindValue(":key", $str,PDO::PARAM_INT);
$stmt->execute();
$dbh = null;
}
catch(Exception $e) {
echo 'error: ' . $e->getMessage();
}
}


////////
}
?>

人气教程排行