草庐IT

php - SQL 盲注

当我在我的页面上使用acunetix时,我得到一个:BlindSQL/XPathinjection标题:GET/file.php?id=2'+and+31337-31337=0+--+&page=2回应:找不到文件(有时会显示结果)这是我的PHP代码:$id=(int)htmlentities($_GET['id']);$fileid=mysql_real_escape_string($id);查询:SELECT*FROM`files`WHERE`id`='".$fileid."'我做错了什么?有人可以用这个删除我的数据库吗?我也在一些几乎等于那个的查询中得到相同的消息,但也有限制0,

php - 我怎样才能使这个 SQL 查询更有效率? PHP

我有一个系统,用户可以通过该系统查看他们单独订阅的类别,以及默认情况下在他们所属地区可用的类别。因此,表格如下:类别用户类别地区分类我正在数据库中查询他们区域内的所有类别,以及他们订阅的所有单独类别。我的查询如下:Select*FROM(categoriesc)LEFTJOINusers_categoriesuconuc.category_id=c.idLEFTJOINregions_categoriesrconrc.category_id=c.idWHERE(rc.region_id=?ORuc.user_id=?)至少我相信那是查询,我正在使用Cake的ORM层创建它,所以确切的是

php - ORM (doctrine) 和 SQL 之间的代码比较?

我已经阅读了很多关于ORM的文章,但我想知道是否有ORM之类的原则和SQL之间的并排比较示例,以便您可以看到哪个更容易维护?无法在google中找到此类比较。 最佳答案 “更易于维护”是主观的。ORM总是有一些限制。它试图将平面关系SQL放入OOP的procrustean床中。如果您是OOP的忠实粉丝,那么ORM可能适合您。否则请使用SQL。换句话说,ORM使通用任务变得更简单,但任何不寻常的任务都会让人头疼。 关于php-ORM(doctrine)和SQL之间的代码比较?,我们在Sta

php - Zend_DB union() :Zend_Db_Table_Abstract 与 Zend_Db_Table::getDefaultAdapter()

所以我有我想通过zend框架调用的原始SQLselectt.type,t.tid,t.tname,t.cid,t.cname,ls.*from(selectt.type,t.idastid,t.nameastname,c.idascid,c.nameascnamefromteamtjoincompanycont.parent=c.idandt.type='C'andc.sector=20andt.status='ACTIVE'unionselectt.type,t.idastid,t.nameastname,nullascid,nullascnamefromteamtjoinsecto

php - 大字符串 : Text files or SQL DB?

我正在使用PHP编写论坛系统。我目前将线程ID、标题、作者、View和其他属性存储在SQL数据库中,然后将线程主体(HTML和BBcode)存储在以线程ID命名的文件夹内的文本文件中。在实践中,获取数据库值然后从文本文件中获取线程主体真的很简单,但我想知道这是否是“正确的方法”?我个人对此没有任何问题,但如果事实证明它非常低效,我应该改为将线程主体HTML和BBcode都存储在数据库中,然后我会改变。但是,对我来说,将这样一个(很可能)巨大的多行文本字符串以及许多不同的字符存储在数据库中似乎是错误的——我被告知数据库更多的是用于短字段“值”而不是网站内容。我只是想要一个明确的答案,因为

php - 用于 PHP sqlsrv_connect() 的 SQL Server 驱动程序使用忽略的错误填充 PHP 错误日志

每次我的PHP应用程序连接到我的SQLServer数据库时,以下内容都会被放入PHP错误日志中:[01-Apr-201112:39:16]sqlsrv_connect:SQLSTATE=01000[01-Apr-201112:39:16]sqlsrv_connect:errorcode=5701[01-Apr-201112:39:16]sqlsrv_connect:message=[Microsoft][SQLServerNativeClient10.0][SQLServer]Changeddatabasecontextto'my_table_name'.[01-Apr-201112:

php数组分层

我有一张这样的table:+----+--------+-------+|id|parent|title|+----+--------+-------+|1|NULL|yek||2|NULL|do||3|1|se||4|3|char|+----+--------+-------+我需要像这样获取分层数据数组。什么是最好的方法?Array([1]=>Array([3]=>Array([4]=>))[2]=>)请帮助我。 最佳答案 //dummydata$recordsetshouldberetrievedfromdb$recordse

php - SQL Server 2008 数据库 + PHP 中的 UTF-8

我想用PHP在MSSQL2008数据库中存储数据。我遇到了像äöüß这样的字母问题,它们在数据库中显示不正确,当我在网站上显示时。当我使用PHP对输入数据进行utf8_encode并使用utf8_decode对输出数据进行utf8_decode时,它​​会起作用。还有其他更简单的方法可以解决这个问题吗? 最佳答案 我已经解决了这个问题,问题是PHP的mssql驱动程序坏了(找不到bugs.php.net的链接,但它在那里)并且在涉及到nchar和nvarchar字段a时失败了utf8.您需要稍微转换数据和查询:SELECTsome_

php - 在php中打印递归列表

我正在尝试打印一个递归列表,其中每个日期都有一个按日期排序的事件子列表。例如在我的数据库上:+------+----------+--------+|date|event_id|post_id|+------+----------+--------+|date1|event1|post1||date1|event2|post2||date1|event3|post3||date2|event4|post4||date2|event5|post5|+------+----------+--------+我需要打印date1event1,post1event2,post2event3,po

php - 一个 SQL 查询中的多个计数

我正在使用CodeIgniter构建Web应用程序。用户可以“喜欢”或“讨厌”帖子。这些操作存储在名为post_rating的表中,其中包含以下列:编号post_id用户编号评分评级可以是0表示中立、1表示喜欢或2表示讨厌。在我的模型中,我使用以下函数返回了每个帖子的一些基本信息:functionget_posts($thread_id){$this->db->select('id,user_id,date_posted,content');$this->db->from('post');$query=$this->db->get();if($query->num_rows()>0){