草庐IT

php - 解析 SQL 字符串

将sql字符串解析为单独的组件的好方法是什么?我试过使用正则表达式,但我无法让它正常工作。比如说:"SELECT*FROMtblWHEREuser_id>50"将创建一个包含所有组件的数组$arr[0]="SELECT";$arr[1]="*";$arr[2]="FROM";等...谢谢 最佳答案 我会选择可以集成到您的语言中的sql解析器:不要重新发明轮子。我没有特别推荐使用哪一种,但我相信您可以找到满足您需要的一种。参见相关:PHPMySQLSQLparser(INSERTandUPDATE)

php - 一个 SQL 查询,还是一个循环中的多个?

我需要从表中提取几行并以两种方式处理它们:聚合在一个键上逐行,按相同的键排序表格大致如下:table(key,string_data,numeric_data)所以我正在研究我正在编写的函数的两种方法。第一种是通过一次查询拉取聚合数据,然后在循环中再次查询每组逐行数据(以下是类似PHP的伪代码):$rows=query("SELECTkey,SUM(numeric_data)FROMtableGROUPBYkey");foreach($rowsas$row){$key=$row['key'];$row_by_row_data=handle_individual_rows($key);}

php - 如何建模多对多关系?

由于之前只有一点数据库方面的经验并且没有接受过正规的数据库教育,我对如何对其建模(并在PHP中从中检索我需要的数据)有点困惑。这就是我要建模的内容:对于我网站上的每个项目,允许有多个标签,例如文件、上传、php、递归等。但是标签是可重复使用的,我可以有两个不同的项目,它们每个都可以有php标签。我一直在努力阅读有关如何执行此操作以及是否缺乏经验或其他我不知道的内容的信息,但我似乎无法理解这个概念。显然您需要一个将两者连接在一起的中间表?此外,一旦我有了这种关系并定义了表,我将如何做以下事情:-检索具有特定标签的所有项目?-检索一项的所有标签?感谢您的帮助,如果有人可以列出任何进一步的阅

php - 在 PHP 中准备 SQLite SQL 语句

我正在尝试如何最好地在PHP中准备我的SQLiteSQL字符串。SQLite3类带有一个escapeString()功能,但这是我的问题:尝试1)$sql="INSERTINTOitems('id','content','title','created')VALUES('4e7ce7c18aac8','Doesthiswork',NULL,'2011-09-23T16:10:41-04:00');";$sql=SQLite3::escapeString($sql);echo($sql);这会导致字符串全部被顶起:INSERTINTOitems(''id'',''content'',''

php - SQL 按两列分组和排序

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:SQLORDERBYtotalwithinGROUPBY更新:我找到了我的解决方案,我已经发布了here。感谢大家的帮助!我正在开发一个需要排行榜的Facebook应用程序。记录完成游戏所需的分数和时间,这些首先按分数组织,然后在两个相同分数的情况下使用时间。如果用户玩了多次,则使用他们的最好成绩。得分越低,游戏表现越好。我的表结构是:idfacebook_id-(UniqueIdentifierfortheuser)nameemailscoretime-(timetocompletegameinsecond

php - 安全类(class) build

以这种方式在登录或注册类中调用__construct()是否安全:function__construct(PDO$DBH,$_POST['1'],$_POST['2']){$this->_user=$_POST['1'];$this->_pass=$_POST['2'];$this->_DBH=$DBH;}我想稍后在这个类中清理用户输入,我不确定我的代码是否适合SQL注入(inject)或XSS,因为类是用原始POST输入构造的? 最佳答案 如果您知道您清理/使用准备好的语句(即原始POST数据未按原样插入查询),那么这样做很好。事

Php,如何从数据库复制一个表并粘贴到另一个

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion我需要从数据库A中检索一个表及其所有字段,之后,我需要将该表粘贴到另一个数据库B。这2个表在同一台服务器上,我需要从服务器B上的PHP脚本执行此操作。你有什么想法吗?谢谢!

php - 在数据源默认值中找不到模型表

我正在创建一个cakephp2.x应用程序。开发到一半突然发现“找不到表”的错误。MissingDatabaseTableError:TableblockedformodelParentalwasnotfoundindatasourcedefault.Notice:Ifyouwanttocustomizethiserrormessage,createproject\View\Errors\missing_table我检查了我的数据库,关联的表确实存在。接下来,我尝试调试模型。该模型可以访问该表。cakephp找不到数据表的错误一直存在。这是我在调试模型时得到的:\project\Con

php - Silverstripe - 删除数据对象而不是使用自定义 sql 查询的更好方法

有没有更好的方法来删除早于x天的数据对象而不是使用自定义sql查询?这就是我现在做的$host='localhost';$username='db123';$password='pass';$db_name='db123';mysql_connect("$host","$username","$password")ordie("cannotconnect");mysql_select_db("$db_name")ordie("cannotselectDB");$sql="DELETEFROMCartWHERECreated 最佳答案

php - 尝试测试 Symfony 2 应用程序时出现 SQL 错误 - 列已存在,表丢失

我正在按照描述的测试设置here和alsohere.当我尝试运行我的测试时,测试数据库正在创建过程中,我收到以下错误:[Doctrine\ORM\Tools\ToolsException]Schema-ToolfailedwithError'Anexceptionoccurredwhileexecuting'CREATEINDEXdeletedAtidxONSurveyHash(deletedAt)':SQLSTATE[HY000]:Generalerror:1indexdeletedAtidxalreadyexists'whileexecutingDDL:CREATEINDEXdel