草庐IT

php - 不太了解SQL注入(inject)

我已经阅读了很多有关sql注入(inject)的文章,并且我了解它是如何导致问题的(即:DROPTABLE__等)。但我不确定我所遵循的教程实际上是如何防止这种情况发生的。我只是在学习PDO,我想我明白了。这段代码可以避免SQL注入(inject)吗?,为什么?(使用这些准备好的语句需要做更多的工作,所以我想确保我不是在浪费时间-如果代码可以改进,请告诉我!)$conn=newPDO("mysql:host=$DB_HOST;dbname=$DB_DATABASE",$DB_USER,$DB_PASSWORD);//Getthedata$firstname=$_POST["v_firs

PHP 从数组中获取最高值(从 SQL 选择)

我有2个表:dt_times和dt_reportsdt_times包含时间列表,dt_reports包含对相关时间的投票(正面/负面)。我的代码执行以下操作:选择今天之前的所有时间对于每个时间-计算边距((positive-negative)/positive)*100结果存储在数组中在所有迭代之后,这里是id=>margin的var_dumparray(8){[111]=>int(100)[110]=>int(-100)[108]=>int(-100)[100]=>int(100)[97]=>int(100)[92]=>int(100)[59]=>float(-71.42857142

php - PDO 在一次查询中使用 2 个数据库连接

我有2个不同的数据库(我可以访问这两个数据库)并且它们有一个具有相同结构的表。这是一个名为events的表。我想连接到这两个数据库并从它们的events中获取结果,这样我就可以显示日期是否大于或等于今天。$db1=newPDO('mysql:host='.$db_host1.';dbname='.$db_name1,$db_username1,$db_pass1);$db2=newPDO('mysql:host='.$db_host2.';dbname='.$db_name2,$db_username2,$db_pass2);$db1->setAttribute(PDO::ATTR_E

php - 为什么我的 PHP 代码没有更新 SQL

有谁知道为什么这个PHP代码不更新pictures列,它会更新其余部分,但不会更新pictures列,它是更新用户信息所以电子邮件地址,密码和图片我对PHP很陌生,所以我真的不知道在查找错误时要查找什么$_POST['email']);try{$stmt=$db->prepare($query);$result=$stmt->execute($query_params);}catch(PDOException$ex){die("Failedtorunquery:".$ex->getMessage());}$row=$stmt->fetch();if($row){die("ThisE-M

php - CodeIgniter Sqlite 不工作

每当我在我的模型中像这样查询我的数据库(sqlite)时(我使用codeigniter,完整代码如下):$this->db->select('post');$query=$this->db->get('posts');return$query->result_array();我收到以下错误:Fatalerror:CalltoamemberfunctionrowCount()onanon-objectin/codeigniter/system/database/drivers/pdo/pdo_result.phponline42当将查询更改为不存在的内容时,我得到一个“正确的”错误,类似

php - 避免 yii2 中的 sql 注入(inject)

如何在将查询参数插入表之前对其进行过滤以防止sql注入(inject)?有这样的代码:$QueryParams=Yii::$app->request->getQueryParams();$model=newAccounts();$model->attributes=$QueryParams;$connection->createCommand()->insert('accounts',$model->attributes)->execute();这种方法安全吗? 最佳答案 该方法是安全的,但还有更好的方法:$model=newAcc

php - 从 MS SQL 中的 PHP PDO 存储过程返回 Select *

对于future的用户:这个问题的底部包含更正后的工作代码。我知道Select*不是最好的,但在这个例子中,我试图从php调用一个存储过程并返回整个结果集,这样我就可以在我的代码中循环遍历数组。这是我当前的存储过程:USE[hanoncs_AskMe]GOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETNOCOUNTON;GOCREATEPROCEDURE[hanoncs_hanoncs].[CommentsTemp]@QuestionIDINTASBEGINBEGINTRANSACTIONIFObject_id('#viewquestionco

php - Laravel 5.3 Eloquent where 从父模型连接表的子句

我有一个Fabric表,它链接到一个品牌和一个季节。运行App\fabrics::with('brand','season')->get()获取所有Fabric及其品牌和季节信息,这很好(见下文)。我想根据季节编号获取Fabric。我试过了:App\fabrics::with('brand','season')->where('season.id','1')->get()但这行不通。Columnnotfound:1054Unknowncolumn'season.id'in'whereclause'(SQL:select*from`fabrics`where`season`.`id`=1

php - PDOException : SQLSTATE[IMSSP]: Tried to bind parameter number 65536. SQL Server 最多支持2100个参数

好吧,我遇到了一个非常奇怪的PDOException,我似乎无法理解。这是生成的异常:PDOException:SQLSTATE[IMSSP]:Triedtobindparameternumber65536.SQLServersupportsamaximumof2100parameters.inD:\Work\CEUR16-004\Project\www_root\includes\scripts\php\libCore\products.php:169Stacktrace:#0D:\Work\CEUR16-004\Project\www_root\includes\scripts\p

php - 在 Woocommerce 中根据客户总购买金额添加百分比折扣

在Woocommerce中,我想根据客户总购买金额设置百分比折扣。例如,如果总购买金额大于或等于200$,客户将获得5%折扣。。p>所以,我有第一部分代码来显示总和:functionget_customer_total_order(){$customer_orders=get_posts(array('numberposts'=>-1,'meta_key'=>'_customer_user','meta_value'=>get_current_user_id(),'post_type'=>array('shop_order'),'post_status'=>array('wc-comp