• 关于

    php语句

    的搜索结果

问题

PHP怎么能判断加了for update查询的mysql语句是否锁表了,如果锁表延时2秒呢?

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

问题

mysql事务中两条sql语句外键约束的问题

落地花开啦 2019-12-01 19:53:47 1566 浏览量 回答数 1

问题

为何不能用IF语句直接判断mysql_query函数的返回值?

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

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

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

回答

PHP自带了MySQL驱动 mysqlnd,Ubuntu可以使用apt-get安装php5-mysqlnd这个包获取mysql和mysqli扩展的支持,但注意 从PHP5.5开始已经不再支持mysql扩展,建议使用mysqli扩展,另外还可以使用mysqli_stmt绑定参数执行预查询语句,既能有效避免SQL注入提高安全性,又能提高SQL执行效率,一举两得:查询仅需解析(或预处理)一次,但可以用相同或不同的参数执行多次。当查询准备好后,数据库将分析、编译和优化执行该查询的计划。对于复杂的查询,此过程 要花费较长的时间,如果需要以不同参数多次重复相同的查询,那么该过程将大大降低应用程序的速度。通过使用预处理语句,可以避免重复分析/编译/优化周期。简言之,预处理语句占用更少的资源,因而运行得更快。提供给预处理语句的参数不需要用引号括起来,驱动程序会自动处理。如果应用程序只使用预处理语句,可以确保不会发生SQL 注入。(然而,如果查询的其他部分是由未转义的输入来构建的,则仍存在 SQL 注入的风险)。

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

回答

mysql_query的返回值,根据sql语句可能有不同。PHP:mysql_query - Manualmysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句, mysql_query() 在执行成功时返回TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。很有可能一条查询执行成功了但并未影响到或并未返回任何行。对于你说的INSERT语句,在成功后应该是返回TRUE的,在失败的时候才是返回FALSE,执行你的else部分。对于你第二个比较语句,先假设你的$DB就是一个bool值,实际发生的过程是,将0转换成为了bool值(应该是FALSE),而TRUE>FALSE,因此当你的$DB是TRUE的情况下大于0成立。但是你这样的判断方法是极其不合理的。判断mysql_query()是否执行成功,应该使用严格 $rst !== false而当成功返回后,判断mysql_query()影响的行数,应该对相应的sql语句类型使用mysql_num_rows()或mysql_affected_rows()来查看。建议多看下手册。

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

问题

PHP PDO准备的语句

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

问题

在php+mysql数据库设计中,查找匹对带有“不限”的sql语句

落地花开啦 2019-12-01 19:52:30 917 浏览量 回答数 1

问题

php,mysql,查找匹对带有“不限”的sql语句:报错

kun坤 2020-06-09 11:57:23 0 浏览量 回答数 1

问题

MySQL准备的带有可变大小变量列表的语句

保持可爱mmm 2020-05-10 21:49:47 0 浏览量 回答数 1

问题

如何在php中创建安全的mysql准备语句?

你的答案 2020-05-08 15:48:36 0 浏览量 回答数 1

问题

mysql中字符串类型可以自动转为其它类型吗

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

问题

空间为什么不支持PHP的CURLOPTUSERAGENT参数

龙飞lfcall 2019-12-01 21:07:23 3684 浏览量 回答数 2

问题

如何将sql语句转成mongodb能查到的,在php 下?

落地花开啦 2019-12-01 19:48:05 1334 浏览量 回答数 1

问题

如何在PHP中使用mysqli准备的语句??mysql

保持可爱mmm 2020-05-13 14:36:06 0 浏览量 回答数 1

回答

您不能直接将数组插入mysql,因为mysql无法识别php数据类型。 Mysql只了解SQL。因此,要将数组插入mysql数据库,必须将其转换为sql语句。可以手动或通过库来完成。输出应为INSERT语句。 这是标准的mysql插入语句。 INSERT INTO TABLE1(COLUMN1, COLUMN2, ....) VALUES (VALUE1, VALUE2..) 如果您的表名称fbdata带有数组键中显示的列,则可以插入此小片段。这是将数组转换为该语句的方式。 $columns = implode(", ",array_keys($insData)); $escaped_values = array_map('mysql_real_escape_string', array_values($insData)); $values = implode(", ", $escaped_values); $sql = "INSERT INTO fbdata($columns) VALUES ($values)"; PHP7更新 由于mysql_real_escape_string不赞成使用PHP 5.5 ,而自PHP7起,已将其删除。有关新过程,请参阅:Php.net的文档。来源:stack overflow

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

问题

[@徐雷frank][¥20]多个条件进行筛选查询的时候,怎么设计比较好?

晓生寒 2019-12-01 19:26:40 1585 浏览量 回答数 1

回答

PHP 中的 include、require 函数可以实现 include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。 包含文件很有用,如果您需要在网站的多张页面上引用相同的 PHP、HTML 或文本的话。 PHP include 和 require 语句 通过 include 或 require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件(在服务器执行它之前)。 include 和 require 语句是相同的,除了错误处理方面: require 会生成致命错误(E_COMPILE_ERROR)并停止脚本 include 只生成警告(E_WARNING),并且脚本会继续 因此,如果您希望继续执行,并向用户输出结果,即使包含文件已丢失,那么请使用 include。否则,在框架、CMS 或者复杂的 PHP 应用程序编程中,请始终使用 require 向执行流引用关键文件。这有助于提高应用程序的安全性和完整性,在某个关键文件意外丢失的情况下。 包含文件省去了大量的工作。这意味着您可以为所有页面创建标准页头、页脚或者菜单文件。然后,在页头需要更新时,您只需更新这个页头包含文件即可。 例如: <html> <body> <h1>欢迎访问我们的首页!</h1> <?php require 'header.php';?> <p>一段文本。</p> <p>一段文本。</p> <?php include 'footer.php';?> </body> </html> 答案来源于网络

养狐狸的猫 2019-12-02 02:15:16 0 浏览量 回答数 0

回答

使用准备好的语句和参数化查询。这些是独立于任何参数发送到数据库服务器并由数据库服务器解析的SQL语句。这样,攻击者就不可能注入恶意SQL。 您基本上有两种选择可以实现此目的: 使用PDO(对于任何受支持的数据库驱动程序): $stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name'); $stmt->execute([ 'name' => $name ]); foreach ($stmt as $row) { // Do something with $row } 使用MySQLi(对于MySQL): $stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?'); $stmt->bind_param('s', $name); // 's' specifies the variable type => 'string' $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { // Do something with $row } 如果你连接到MySQL之外的数据库,有一个特定的驱动程序,第二个选项,你可以参考一下(例如,pg_prepare()和pg_execute()PostgreSQL的)。PDO是通用选项。 正确设置连接 注意,当PDO用于访问MySQL数据库时,默认情况下不使用真实的预处理语句。要解决此问题,您必须禁用对准备好的语句的仿真。使用PDO创建连接的示例如下: $dbConnection = new PDO('mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password'); $dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 在上面的示例中,错误模式不是严格必需的,但建议添加它。这样,Fatal Error当出现问题时脚本不会以a停止。并且它为开发人员提供了解决catch任何thrown为PDOExceptions的错误的机会。 但是,第一行是强制性的,setAttribute()它告诉PDO禁用模拟的预备语句并使用实际的预备语句。这可以确保在将语句和值发送到MySQL服务器之前,不会对PHP进行解析(这样可能会使攻击者没有机会注入恶意SQL)。 尽管可以charset在构造函数的选项中设置,但是必须注意,PHP的“较旧”版本(在5.3.6之前)静默忽略了DSN中的charset参数。 说明 传递给您的SQL语句prepare由数据库服务器解析和编译。通过指定参数(如上例中的?参数或命名参数:name),您可以告诉数据库引擎要在何处进行过滤。然后,当您调用时execute,准备好的语句将与您指定的参数值组合在一起。 这里重要的是参数值与已编译的语句组合,而不是与SQL字符串组合。SQL注入通过在创建要发送到数据库的SQL时欺骗脚本使其包含恶意字符串来起作用。因此,通过将实际的SQL与参数分开发送,可以减少因意外获得最终结果的风险。 使用预处理语句发送的任何参数都将被视为字符串(尽管数据库引擎可能会进行一些优化,因此参数最终也可能以数字结尾)。在上面的示例中,如果$name变量包含'Sarah'; DELETE FROM employees结果,则仅是搜索字符串"'Sarah'; DELETE FROM employees",并且最终不会得到空表。 使用准备好的语句的另一个好处是,如果您在同一会话中多次执行同一条语句,它将仅被解析和编译一次,从而使您获得了一些速度上的提高。 哦,既然您询问了如何进行插入,这是一个示例(使用PDO): $preparedStatement = $db->prepare('INSERT INTO table (column) VALUES (:column)'); $preparedStatement->execute([ 'column' => $unsafeValue ]); 准备好的语句可以用于动态查询吗? 尽管您仍可以对查询参数使用准备好的语句,但是无法对动态查询本身的结构进行参数化,并且无法对某些查询功能进行参数化。 对于这些特定方案,最好的办法是使用白名单过滤器来限制可能的值。 // Value whitelist // $dir can only be 'DESC', otherwise it will be 'ASC' if (empty($dir) || $dir !== 'DESC') { $dir = 'ASC'; }

保持可爱mmm 2020-05-08 09:26:01 0 浏览量 回答数 0

回答

include_once("connect.php"); //链接数据库 $bigid = $_GET["bigname"]; if(isset($bigid)){ $q=mysql_query("select * from catalog where cid = $bigid"); while($row=mysql_fetch_array($q)){ $select[] = array("id"=>$row[id],"title"=>$row[title]); } echo json_encode($select); } 根据jQuery传递过来的大类的value值,构造SQL语句查询分类表,最终输出JSON数据。本站在未做特别说明的情况下所使用的PHP与MySQL连接,和查询语句等均使用原始语句方法如mysql_query等,目的就是为了让读者能够直观的知晓数据的传输查询。

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

问题

为什么将网页变成字符串再echo出来,其php代码就失效了?

小旋风柴进 2019-12-01 20:11:41 952 浏览量 回答数 1

回答

MongoVUE 收费 Robomongo 免费 genghis 免费。单文件,有PHP版(genghis.php)和Ruby版(genghis.rb),不过功能有限我推荐robomongo,MongoVUE不支持命令行输入,robomongo只支持命令行输入,所以一些复杂语句可以在robomongo中自己输入完成,而且还提升你对mongoDB语句的学习和了解。

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

问题

PDO MySQL:是否使用PDO :: ATTR_EMULATE_PREPARES?

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

问题

PHP如何判断INSERT是否插入成功?

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

问题

将MySql转换成Sqlite的问题

落地花开啦 2019-12-01 19:50:18 1316 浏览量 回答数 1

回答

一、打开httpd.conf配置文件,找到以下语句加入.html或者.htmAddType application/x-httpd-php .html .htm .php .phtmlAddType application/x-httpd-php-source .html .htm .phps然后重启apache试试在html里加入<?php …. ?>的代码运行一下二、如果apache开启了mod_rewrite模块,可以编辑.htaccess添加下面那段语句AddType application/x-httpd-php .html .htm一样可以解析html里的PHP代码了在.htaccess好处是不用重启apache就可以立即生效

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

问题

PHP和MySql对NULL的处理

蛮大人123 2019-12-01 19:48:27 1252 浏览量 回答数 1

问题

在MySQL语句中使用MySQL自带函数效率问题

西秦说云 2019-12-01 19:39:51 1002 浏览量 回答数 1

问题

让数据库变快的10个建议

mqc 2019-12-01 21:00:09 2313 浏览量 回答数 0

问题

如何往 MYSQL 中填入大量随机数据 , 以测试语句性能 ?

西秦说云 2019-12-01 19:39:56 1123 浏览量 回答数 1

回答

一、打开httpd.conf配置文件,找到以下语句加入.html或者.htm AddType application/x-httpd-php .html .htm .php .phtml AddType application/x-httpd-php-source .html .htm .phps 然后重启apache试试在html里加入<?php …. ?>的代码运行一下 二、如果apache开启了mod_rewrite模块,可以编辑.htaccess添加下面那段语句`AddType application/x-httpd-php .html .htm` 一样可以解析html里的PHP代码了在.htaccess好处是不用重启apache就可以立即生效

小旋风柴进 2019-12-02 02:09:38 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 阿里云双十一主会场 阿里云双十一新人会场 1024程序员加油包 阿里云双十一拼团会场 场景化解决方案 阿里云双十一直播大厅