• 关于

    $this的使用

    的搜索结果

回答

如上面的注释中所述,您应该分而治之,以使您的生活更轻松(尤其是当您在该大型函数中使用代码时编写代码)。确实很容易做到: function file_put($number, $data) { $path = sprintf("C:/temp/wamp/www/file%d.txt", $number); file_put_contents($path, $data); } 例如,这只是替换许多重复的行,您只需要在其中放入一些(编号)文件即可。 但是您也可以使用更复杂的内容(例如数据库操作)来执行此操作。您可能希望将错误处理移到您的视线之外,并在需要时小心地连接到数据库,并以更灵活的方式来获取数据。可以通过将(已弃用的)mysql_*函数移至其自己的一两个类中来完成,以使它不被看到。这将使它的使用更加容易(我首先显示): // Create your database object to use it later on: $config = array( 'server' => 'localhost', 'name' => 'root', 'password' => '', 'db' => 'test', ); $db = new MySql($config); 我称它为数据库类,MySql因为它代表了mysql连接,并且可以与旧的mysql扩展一起使用。您只需要将该数据库对象传递给问题中的函数即可。结合file_put功能,它看起来像这样: function checkin(MySql $DB, $TechID, $ClientID, $SiteID) { $query = sprintf("SELECT Type FROM Log WHERE TechID = '%d' ORDER BY LogTime DESC LIMIT 1", $TechID); file_put(5, $query); $result1 = $DB->query("SELECT COUNT(*) FROM Log"); $result2 = $DB->query($query); foreach ($result1 as $row1) { list($count) = $row1; $data = "ClientID:$ClientID TechID:$TechID SiteID:$SiteID Count:$count" file_put(3, $data); foreach ($result2 as $row2) { file_put(4, $data); } } } 该checkin函数仍然接近大型(已经有12行代码),但是比您的第一个版本短得多,因为它委派了编写文件和访问数据库的工作。我希望这个示范有用。以下是完整的代码示例: /** * MySql Exception */ class MySqlException extends RuntimeException { } /** * MySql Database Class */ class MySql { private $server; private $name; private $password; private $db; private $connection; public function __construct(array $config) { $this->server = $config['server']; $this->name = $config['name']; $this->password = $config['password']; $this->db = $config['db']; } private function connect($server, $name, $password) { $this->connection = mysql_connect($server, $name, $password); if (!$this->connection) { $this->error("Unable to connect to '%s' as user '%s'", $server, $name); } } private function select($db) { if (!mysql_select_db($db, $this->connection)) { $this->error("Unable to select database '%s'", $db); } } private function close() { $this->connection && mysql_close($this->connection); } private function connectSelect() { $this->connect($this->server, $this->name, $this->password); $this->select($this->db); } /** * @param $query * @return MySqlResult */ public function query($query) { $this->connection || $this->connectSelect(); $result = mysql_query($query, $this->connection); if (!$result) { $this->error("Unable to execute query '%s'", $query); } return new MySqlResult($result); } /** * @param string $format * @param ... * @throws MySqlException */ private function error($format) { $args = func_get_args(); array_shift($args); $format .= ': %s'; $args[] = $this->connection ? mysql_error($this->connection) : mysql_error(); throw new MySqlException(vsprintf($format, $args)); } public function __destruct() { $this->close(); } } /** * MySql Result Set - Array Based */ class MySqlResult implements Iterator, Countable { private $result; private $index = 0; private $current; public function __construct($result) { $this->result = $result; } public function fetch($result_type = MYSQL_BOTH) { $this->current = mysql_fetch_array($this->result, $result_type); return $this->current; } /** * Return the current element * @link http://php.net/manual/en/iterator.current.php * @return array */ public function current() { return $this->current; } public function next() { $this->current && $this->fetch(); } /** * Return the key of the current element * @link http://php.net/manual/en/iterator.key.php * @return mixed scalar on success, or null on failure. */ public function key() { return $this->current ? $this->index : null; } /** * Checks if current position is valid * @link http://php.net/manual/en/iterator.valid.php * @return boolean The return value will be casted to boolean and then evaluated. * Returns true on success or false on failure. */ public function valid() { return (bool)$this->current; }来源:stack overflow

保持可爱mmm 2020-05-11 17:28:36 0 浏览量 回答数 0

回答

基于 PHP/CURL 编写的类库, 使用方法见注释.直接使用, 不用处理Cookie(程序自动会处理, Cookie信息保存于调用类时传递的参数所指定的文件里).<?php /** * Author: dds_feng * Email: dds_feng@qq.com * * Example: * $http = new HttpClient(__DIR__.'/cookie.ck'); * $http->SetReferer('http://foo.com');//set request referer * echo $http->Get('http://foo.com/');//get * $http->SetProxy('http://127.0.0.1:8888');//set http proxy * echo $http->Post('http://bar.com/xxx', array('a'=>'123', 'b'=>'456'));//post **/ class HttpClient{ private $ch; function __construct($cookieJar){ $this->ch = curl_init(); curl_setopt($this->ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36');//UA curl_setopt($this->ch, CURLOPT_TIMEOUT, 60);//timeout curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, TRUE);//follow redirection curl_setopt($this->ch, CURLOPT_AUTOREFERER, true); curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, FALSE);//ssl curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($this->ch, CURLOPT_COOKIEJAR, $cookieJar);//cookie jar curl_setopt($this->ch, CURLOPT_COOKIEFILE, $cookieJar); } function __destruct(){ curl_close($this->ch); } final public function SetProxy($proxy='http://127.0.0.1:8888'){ //curl_setopt($this->ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($this->ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);//HTTP proxy //curl_setopt($this->ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);//Socks5 proxy curl_setopt($this->ch, CURLOPT_PROXY, $proxy); } final public function SetReferer($ref=''){ if($ref != ''){ curl_setopt($this->ch, CURLOPT_REFERER, $ref);//Referrer } } final public function SetCookie($ck=''){ if($ck != ''){ curl_setopt($this->ch, CURLOPT_COOKIE, $ck);//Cookie } } final public function Get($url, $header=false, $nobody=false){ curl_setopt($this->ch, CURLOPT_POST, false);//GET curl_setopt($this->ch, CURLOPT_URL, $url); curl_setopt($this->ch, CURLOPT_HEADER, $header);//Response Header curl_setopt($this->ch, CURLOPT_NOBODY, $nobody);//Response Body return curl_exec($this->ch); } final public function Post($url, $data=array(), $header=false, $nobody=false){ curl_setopt($this->ch, CURLOPT_URL, $url); curl_setopt($this->ch, CURLOPT_HEADER, $header);//Response Header curl_setopt($this->ch, CURLOPT_NOBODY, $nobody);//Response Body curl_setopt($this->ch, CURLOPT_POST, true);//POST curl_setopt($this->ch, CURLOPT_POSTFIELDS, http_build_query($data));//data return curl_exec($this->ch); } final public function getError(){ return curl_error($this->ch); } } // vim: noexpandtab tabstop=4 shiftwidth=4 softtabstop=4:

蛮大人123 2019-12-02 01:53:32 0 浏览量 回答数 0

问题

php连接mysql识别不到端口号

我的中国 2019-12-01 19:40:33 1433 浏览量 回答数 1

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

table=is_null($table)?C('TABLE_NAME'):$table;try{//self::$links=newPdo("mysql:host=127,0,0.1;dbname=c61",'root','welcome');self::$links=newPdo('mysql:host='.C('DB_HOST').';dbname='.C('DB_NAME'),C('DB_USER'),C('DB_PWD'));//设置字符编码self::$links->query('SETNAMESUTF8');//设置错误抛出类型self::$links->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$this->_opt();}catch(PDOException$e){$e->getMessage();}}//定义opt属性privatefunction_opt(){$this->opt=array('field'=>"",'where'=>'','group'=>'','having'=>'','order'=>'','limit'=>'',);}//定义myquery方法publicfunctionmyquery($sql=null){//执行query方法,返回结果集对象$result=self::$links->query("$sql");//取出结果集赋值给数组$rows=$result->fetchAll(PDO::FETCH_ASSOC);return$rows;}//定义all方法publicfunctionall(){//组合字符串$sql="select".$this->opt['field']."from".$this->table.$this->opt['where'].$this->opt['group'].$this->opt['having'].$this->opt['order'].$this->opt['limit'];echo$sql;return$this->myquery($sql);}//定义field方法publicfunctionfield($sql=''){//需要判断''的情况//给feild元素赋值$this->opt['field']=$sql;return$this;}publicfunctionwhere($sql=''){$this->opt['where']="where".$sql;return$this;}publicfunctionorder($sql=''){$this->opt['order']="orderby".$sql;return$this;}publicfunctionlimit($sql=''){$this->opt['limit']="limit".$sql;return$this;}//定义find()执行publicfunctionfind(){$data=$this->limit(1)->all();//current()返回数组中当前的元素$data=current($data);return$data;}//别名函数onepublicfunctionone(){return$this->find();}//没有结果集的方法publicfunctionmyexec($sql){//echo$sql;$rows=self::$links->exec($sql);if($rows){echo"成功执行{$rows}条数据";return$rows;}else{halt('执行失败');return;}}publicfunctiondelete(){//必须判断where存不存在if(!empty($this->opt['where'])){$sql="deletefrom".$this->table.$this->opt['where'];return$this->myexec($sql);}else{halt('删除必须有where语句');return;}}//定义自动转义方法privatefunction_safe_str($str){//判断是否用户提交的数据,包括post,get,cookie.//如果值为1时为开启,则系统自动转义,如果不为1时,需要调用stripslashes函数转义.if(!get_magic_quotes_gpc()){$str=addslashes($str);};return$str;}//创建添加方法publicfunctionadd($data=null){//如果没有传递参数,使用$_post的值//否则使用传递的值.if(is_null($data))$data=$_POST;//定义存储字段和值的变量$field='';$values='';foreach($dataas$f=>$v){$field.="".$this->_safe_str($f).",";$values.="'".$this->_safe_str($v)."',";}//去除末尾的,号$field=rtrim($field,',');$values=rtrim($values,',');//insertintomessage(title,cid)values('易建联回到中国',2);//组合$sql语句,使用myexec执行.$sql="insertinto".$this->table.'('.$field.')values('.$values.')';echo$sql;return$this->myexec($sql);}//修改方法publicfunctionupdate($data=null){if(empty($_POST))return;if(is_null($data))$data=$_POST;//echo$sql;//如果没设置where语句if(!empty($this->opt['where'])){//updatearcsettitle='快学网',cid='2'whereaid=14;$values='';foreach($dataas$f=>$v){//组合$sql语句$values.=''.$this->_safe_str($f)."='".$this->_safe_str($v)."',";}//echo$values;$values=rtrim($values,",");echo$values;$sql="update".$this->table."set".$values.$this->opt['where'];return$this->myexec($sql);}else{halt('更新语句必须有where语句');return;}}}}?>

爱吃鱼的程序员 2020-06-09 14:05:07 0 浏览量 回答数 0

回答

ajax 请求一盘只管返回 json 数据,不会直接给 HTML 的,而 view 是直接 include 的 view,原理不一样吧,如果你非要这么种,那么自定义一下 view 方法即可: public function loadView($view, $data) { if( $this->input->is_ajax_request() ) { echo $this->load->view($view, $data, TRUE); exit; } // 如果是 ajax 不会执行到这里 $this->load-<view($view, $data); } 以后你载入 view 时,使用 $this->loadView($viewName, $data) 而不再使用 $this->load->view(); 即可,这个 loadView 方法你可以写在父 Contrller 里面。

落地花开啦 2019-12-02 02:48:24 0 浏览量 回答数 0

问题

PHP API 上传图片提示 401Unauthorized ,如何解决?

落地花开啦 2019-12-01 19:58:03 2071 浏览量 回答数 2

回答

#panel h5.head的next就是div.content我们先不论API是否使用正确A. $("#panel h5.head").click(function() { $(this).next().slideToggle(function() { $(this).next().show(); }, function() { $(this).next().hide(); }); }); $(this).next()中的this已经不是head元素了,而是.content元素也就是$(this).next().slideToggle中的$(this).next()指向的DOM元素,那么$(this).next()就是什么都没有,是空的,所以$(this).next().hide();没有任何效果的` B. 回调函数的作用是当show/hide动画效果结束后的后续处理 了解了上面的,就好理解 $contents = $(".content"); $("#panel h5.head").click(function() { $contents.slideToggle(function() { $contents.show(); }, function() { $contents.hide(); }); }); 表现的行为了,显示后再回调中马上又hide拉;slideToggle干的就是show/hide的活,你再在回调中设置show/hide干嘛呢 再来说说API,jQuery对于slideToggle的接口调用有如下方式 `.slideToggle( [duration ] [, complete ] ).slideToggle( options ).slideToggle( [duration ] [, easing ] [, complete ] )`似乎没有接受2个回调函数的接口啊你的代码子所以能够运行时因为你传入了2个参数,那么使用slideToggle( [duration ] [, complete ] )duration类型不匹配,使用默认值,你设置的函数被丢弃第2个函数为slideToggle执行完以后的回调函数

小旋风柴进 2019-12-02 02:24:48 0 浏览量 回答数 0

问题

CodeIgniter数据库规范化

保持可爱mmm 2019-12-01 21:58:27 2 浏览量 回答数 0

问题

Codeigniter交易?mysql

保持可爱mmm 2020-05-17 21:32:12 2 浏览量 回答数 1

问题

sphinx 关键词中包含‘$$’时,搜索报错,如何解决?

落地花开啦 2019-12-01 20:02:33 1111 浏览量 回答数 1

回答

假设您不希望使用Observer模式,因为它要求您更改类方法以处理侦听任务,并需要通用的东西。假设您不想使用extends继承,因为您可能已经在类中继承了其他类。拥有一种通用的方法而无需花费太多精力就可以使任何类可插拔,这不是很好吗?就是这样: <?php //////////////////// // PART 1 //////////////////// class Plugin { private $_RefObject; private $_Class = ''; public function __construct(&$RefObject) { $this->_Class = get_class(&$RefObject); $this->_RefObject = $RefObject; } public function __set($sProperty,$mixed) { $sPlugin = $this->_Class . '_' . $sProperty . '_setEvent'; if (is_callable($sPlugin)) { $mixed = call_user_func_array($sPlugin, $mixed); } $this->_RefObject->$sProperty = $mixed; } public function __get($sProperty) { $asItems = (array) $this->_RefObject; $mixed = $asItems[$sProperty]; $sPlugin = $this->_Class . '_' . $sProperty . '_getEvent'; if (is_callable($sPlugin)) { $mixed = call_user_func_array($sPlugin, $mixed); } return $mixed; } public function __call($sMethod,$mixed) { $sPlugin = $this->_Class . '_' . $sMethod . '_beforeEvent'; if (is_callable($sPlugin)) { $mixed = call_user_func_array($sPlugin, $mixed); } if ($mixed != 'BLOCK_EVENT') { call_user_func_array(array(&$this->_RefObject, $sMethod), $mixed); $sPlugin = $this->_Class . '_' . $sMethod . '_afterEvent'; if (is_callable($sPlugin)) { call_user_func_array($sPlugin, $mixed); } } } } //end class Plugin class Pluggable extends Plugin { } //end class Pluggable //////////////////// // PART 2 //////////////////// class Dog { public $Name = ''; public function bark(&$sHow) { echo "$sHow<br />\n"; } public function sayName() { echo "<br />\nMy Name is: " . $this->Name . "<br />\n"; } } //end class Dog $Dog = new Dog(); //////////////////// // PART 3 //////////////////// $PDog = new Pluggable($Dog); function Dog_bark_beforeEvent(&$mixed) { $mixed = 'Woof'; // Override saying 'meow' with 'Woof' //$mixed = 'BLOCK_EVENT'; // if you want to block the event return $mixed; } function Dog_bark_afterEvent(&$mixed) { echo $mixed; // show the override } function Dog_Name_setEvent(&$mixed) { $mixed = 'Coco'; // override 'Fido' with 'Coco' return $mixed; } function Dog_Name_getEvent(&$mixed) { $mixed = 'Different'; // override 'Coco' with 'Different' return $mixed; } //////////////////// // PART 4 //////////////////// $PDog->Name = 'Fido'; $PDog->Bark('meow'); $PDog->SayName(); echo 'My New Name is: ' . $PDog->Name;

游客ufivfoddcd53c 2020-01-03 13:29:29 0 浏览量 回答数 0

问题

如何使用不推荐使用的mysql_ *函数成功重写旧的mysql-php代码??mysql

保持可爱mmm 2020-05-16 22:16:42 2 浏览量 回答数 1

问题

致命错误:在布尔值上调用成员函数bind_param()

保持可爱mmm 2020-05-08 11:10:03 0 浏览量 回答数 1

问题

jquery 中的each能够使用live吗?

a123456678 2019-12-01 20:22:14 913 浏览量 回答数 1

问题

在Codeigniter中将WHERE子句分组?mysql

保持可爱mmm 2020-05-17 20:06:23 1 浏览量 回答数 1

回答

1、ci中调用library的方式为 <?php //application->Controllers->images.php Header("Content-type:image/GIF"); class images extends CI_Controller{ public function index(){ $this->load->library('MY_Imagecode'); $imagecode = new MY_Imagecode(); //or //$imagecode = null; //$this->load->library('MY_Imagecode', null, $imagecode); $imagecode->imageout(); } } 2、ci中使用session的方式为 $this->load->library('session'); $this->session->set_userdata(array('code'=>$this->session)); //session_start(); //$_SESSION['code']=$this->session;

落地花开啦 2019-12-02 02:52:22 0 浏览量 回答数 0

问题

个人网站—使用七牛云加速(图片,静态文件分别使用二级域名)

资源来了啊 2019-12-01 21:58:38 12657 浏览量 回答数 1

回答

目标 正如我所看到的,在这种情况下,您的目标是双重的: 为每个数据库创建并维护一个/可重复使用的连接 确保已正确建立连接 解 我建议同时使用匿名函数和工厂模式来处理PDO连接。它的用法如下所示: $provider = function() { $instance = new PDO('mysql:......;charset=utf8', 'username', 'password'); $instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $instance->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); return $instance; }; $factory = new StructureFactory( $provider ); 然后在其他文件中或在同一文件中的较低文件中: $something = $factory->create('Something'); $foobar = $factory->create('Foobar'); 工厂本身应如下所示: class StructureFactory { protected $provider = null; protected $connection = null; public function __construct( callable $provider ) { $this->provider = $provider; } public function create( $name) { if ( $this->connection === null ) { $this->connection = call_user_func( $this->provider ); } return new $name( $this->connection ); } } 这种方式将使您拥有集中式的结构,从而确保仅在需要时才创建连接。这也将使单元测试和维护过程变得更加容易。 在这种情况下,提供程序将在引导阶段找到。这种方法还将提供一个清晰的位置,用于定义配置,以用于连接到数据库。 请记住,这是一个极其简化的示例。您还可以从观看以下两个视频中受益: 全球州和单身人士 不要找东西! 另外,我强烈建议您阅读有关PDO使用的适当教程(在线上有不良教程的日志)。来源:stack overflow

保持可爱mmm 2020-05-08 11:08:20 0 浏览量 回答数 0

回答

无论如何,这是我的最终解决方案,我将其放入app/Model/AppModel.php: class AppModel extends Model { /** * Connects to specified database * * @param String name of different database to connect with. * @param String name of existing datasource * @return boolean true on success, false on failure * @access public */ public function setDatabase($database, $datasource = 'default') { $nds = $datasource . '_' . $database; $db = &ConnectionManager::getDataSource($datasource); $db->setConfig(array( 'name' => $nds, 'database' => $database, 'persistent' => false )); if ( $ds = ConnectionManager::create($nds, $db->config) ) { $this->useDbConfig = $nds; $this->cacheQueries = false; return true; } return false; } } 这就是我在我中使用它的方式app/Controller/CarsController.php: class CarsController extends AppController { public function index() { $this->Car->setDatabase('cake_sandbox_client3'); $cars = $this->Car->find('all'); $this->set('cars', $cars); } } 我敢打赌,我不是这个问题的第一个或最后一个。所以我真的希望这些信息能找到人们和CakePHP社区。来源:stack overflow

保持可爱mmm 2020-05-17 17:19:10 0 浏览量 回答数 0

问题

PHP-SDK之如何实现上传文件(一)?

青衫无名 2019-12-01 21:44:49 1172 浏览量 回答数 0

问题

如何插入两个表;一个表将插入1行,另一表将插入多行,两个表的一列具有相同的值

保持可爱mmm 2019-12-01 21:57:51 4 浏览量 回答数 1

问题

LINUX虚拟空间上传图片,读取图片权限不足,具体请见:报错

kun坤 2020-06-07 16:12:45 0 浏览量 回答数 1

回答

好吧,您可以与面向对象方面,准备好的语句,它成为标准的事实等进行争论。但是我知道,在大多数情况下,说服某人使用杀手级功能会更好。就是这样: 使用PDO的真正好处是您可以获取数据,并将其自动注入到对象中。如果您不想使用ORM(因为这只是一个快速的脚本),但是您确实喜欢对象映射,那真的很酷: class Student { public $id; public $first_name; public $last_name public function getFullName() { return $this->first_name.' '.$this->last_name } } try { $dbh = new PDO("mysql:host=$hostname;dbname=school", $username, $password) $stmt = $dbh->query("SELECT * FROM students"); /* MAGIC HAPPENS HERE */ $stmt->setFetchMode(PDO::FETCH_INTO, new Student); foreach($stmt as $student) { echo $student->getFullName().'<br />'; } $dbh = null; } catch(PDOException $e) { echo $e->getMessage(); }

保持可爱mmm 2019-12-02 03:15:22 0 浏览量 回答数 0

回答

好吧,您可以与面向对象方面,准备好的语句,它成为标准的事实等进行争论。但是我知道,在大多数情况下,说服某人使用杀手级功能会更好。就是这样: 使用PDO的真正好处是您可以获取数据,并将其自动注入到对象中。如果您不想使用ORM(因为这只是一个快速的脚本),但是您确实喜欢对象映射,那真的很酷: class Student { public $id; public $first_name; public $last_name public function getFullName() { return $this->first_name.' '.$this->last_name } } try { $dbh = new PDO("mysql:host=$hostname;dbname=school", $username, $password) $stmt = $dbh->query("SELECT * FROM students"); /* MAGIC HAPPENS HERE */ $stmt->setFetchMode(PDO::FETCH_INTO, new Student); foreach($stmt as $student) { echo $student->getFullName().'<br />'; } $dbh = null; } catch(PDOException $e) { echo $e->getMessage(); }来源:stack overflow

保持可爱mmm 2020-05-08 11:31:24 0 浏览量 回答数 0

问题

Gravatar 镜像、解决方法大全

妙正灰 2019-12-01 20:57:43 15578 浏览量 回答数 1

问题

CI框架中$this->config,$this>input的调用问题

小旋风柴进 2019-12-01 20:09:57 1240 浏览量 回答数 1

问题

如何将下面的mysql语句变成存储过程或者存储函数

蛮大人123 2019-12-01 19:49:57 1008 浏览量 回答数 1

回答

楼主应该还是新手,这OO代码写得是错误百出,先去学习下面向对象吧。基础不过关啊这样的代码你都写出来了。。。 functionconnection(){$conn=mysqli_connect($ser,$usr,$psw,$dbn);mysqli_query($conn,"setnames'GBK'");echo"connected";}你不觉得应该这么写才对吗? functionconnection(){$this->conn=mysqli_connect($this->ser,$this->usr,$this->psw,$this->dbn);mysqli_query($this->conn,"setnames'GBK'");echo"connected";}为什么是这么写。。。两三句话说不清,先看下书吧 这种连接方式已经过时了 而且现在的手册中也没有mysqli_query这个函数 mysqli数据库的连接方式可以看看别的类回复 @-Mop-:不好意思,没有仔细阅读手册while($row=mysqli_fetch_array($result)){echo$row['id'].'<br>';}可是我看headfirstphp+mysql它里面是教用mysqli的哦 引用来自“小小程序员”的答案 这种连接方式已经过时了 而且现在的手册中也没有mysqli_query这个函数 mysqli数据库的连接方式可以看看别的类回复 @-Mop-:是的mysqli的使用不是比mysql好吗c++写法么?

爱吃鱼的程序员 2020-06-22 21:17:28 0 浏览量 回答数 0

回答

使用transactions手段支持数据库安全地插入数据。因此,在Codeigniter中,我们在Model中而不是Controller中编写与数据库相关的所有功能。。在您的第二个代码(不起作用)中,您已经在上面指向了模型utils。如此简单,我确定这将无法正常工作。因为它不是与模型和控制器并行的插入数据。交易应在模型中编码(我将在回答中用模型编写)。 加载这些东西 数据库库 型号类别 URL助手 届会 假设条件 在您的代码中,您已使用$data和$test作为数组。所以我假设有两个用于插入和更新数据的数组。 您的数据集 $data = array( 'title' => 'My title' , 'name' => 'My Name' , 'date' => 'My date' ); $id = 007; $test = array( 'title' => $title, 'name' => $name, 'date' => $date ); 您的密码 $this->db->trans_start(); # Starting Transaction $this->db->trans_strict(FALSE); # See Note 01. If you wish can remove as well $this->db->insert('table_name', $data); # Inserting data Updating data $this->db->where('id', $id); $this->db->update('table_name', $test); $this->db->trans_complete(); # Completing transaction /Optional/ if ($this->db->trans_status() === FALSE) { # Something went wrong. $this->db->trans_rollback(); return FALSE; } else { # Everything is Perfect. # Committing data to the database. $this->db->trans_commit(); return TRUE; } 笔记 默认情况下,Codeigniter在严格模式下运行所有​​事务。当 被严格模式启用,如果你正在运行的交易多组,如果一组发生故障,所有组将被回滚。如果禁用了严格模式,则每个组将被独立对待,这意味着一个组的故障不会影响其他任何组。来源:stack overflow

保持可爱mmm 2020-05-17 21:42:22 0 浏览量 回答数 0

问题

PHP使用pdo执行mysql的插入指令以后不报错,但是数据库里没数据 ?报错

爱吃鱼的程序员 2020-06-23 13:59:03 0 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站