草庐IT

MySQL存储过程

全部标签

php - 在 MySQL blob 字段中保存使用 FPDF php 库创建的 PDF

我需要使用fpdf创建一个pdf文件库并将其保存在我的MySQL数据库中的blob字段中。问题是,当我尝试从blob字段检索文件并将其发送到浏览器进行下载时,下载的文件已损坏且无法正确显示。如果我立即将它发送到浏览器而不将其存储在数据库中,则相同的pdf文件会正确显示,因此当插入数据库时​​似乎有些数据已损坏。我的代码是这样的:$pdf=newMyPDF();//classthatextendsFPDFandcreatetepdffile$content=$pdf->Output("","S");//returnthepdffilecontentasstring$sql="insert

php - CMS 与文件系统存储 ID 可扩展性

请考虑以下事项:我存储了大约120万个TIF文件,大小从40KB到120KB不等。这些文档存储在具有NTFS文件系统的Windows服务器上。文档使用以下变量存储:客户文件类型图片文件夹实际图像见下文:C:\\\image001\1.TIF示例C:\1\3\image001\1.TiF这是一个PHP托管系统。现阶段表现尚可。我想知道最好的策略是什么。考虑到客户和文档量将急剧增加。我正在考虑用Jackrabbit替换整个存储内容管理系统。会是这样吗?或者以如下格式存储文档:客户文件类型Juliandateoftheyeardocument导入。当前用户6位唯一代码示例C:\1\1\167

php - 使用 Zend_Db 时 pdo_mysql 与 mysqli

如果我使用Zend_Db类从后端数据库抽象我的查询,我使用哪个mysql驱动程序,pdo_mysql与mysqli有区别吗?我对pdo_mysql的理解是它也提供抽象,所以我假设如果我使用Zend_Db,那么无论如何我都不会利用作为mysqli一部分的额外功能。但是,从性能角度来看,一个比另一个更快吗? 最佳答案 Zend_Db,一般来说,是基于PDO及其各种适配器,如pdo_mysql。mysqli适配器仅针对那些使用未随PDO提供的服务器/主机的用户开发。就性能而言,我认为pdo_mysql和mysqli之间没有太大区别;从未听

php - 网站的图片文件夹和图片是否应该存储在 SVN 存储库中?

我目前正在将我们所有的PHP网站导入SVN存储库。每个站点都有一个图像文件夹,其中包含所有站点图像。图片更新非常频繁,因为其中大部分是提供的图形。图像(二进制文件)应该存储在存储库中吗?另一个问题是它们一直在更新。您将如何频繁更新工作副本中的图像,因为您不能像编辑源文件那样在文本编辑中编辑源文件,它们需要用更新的图像替换,版本系统将如何处理这个问题? 最佳答案 SVN能够处理二进制文件,包括(但不限于)图像。您可以像普通文本文件一样使用它。唯一不同的是一旦更改,它是作为一个整体更改的,而不是像普通文本文件那样作为一个补丁。

php - 面向过程编程的设计模式和封装?

我正在处理一个以过程式风格编写的相当大的PHP项目(它是在PHP5之前编写的),我忍不住觉得我正在做的一些事情有点“hackish”。“其他地方的修改很容易破坏应用程序。我见过的所有设计模式和最佳实践似乎都只适用于OOP。我可以开始使用PHP5的OOP功能编写我的一些代码,但我不确定是否所有其他开发人员都足够熟悉OOP。对于更熟悉OOP的人来说,这只是过程式编程的本质吗?是否有“最佳实践”书籍介绍如何保持大型过程应用程序的可维护性并降低引入新错误的可能性?我知道我可以以程序化的方式应用OOP设计原则/模式,但如果我要这样做,我还不如使用PHP的OOP功能。也许我对程序范式还不够了解?

php - 在 PHP 中将 Unix 纪元时间戳转换为 MySQL 时间戳

我有一个问题,即客户端有一些遗留环境(IIS6/PHP5.0.1)并不断收到以下错误:Warning:date()[function.date]:Windowsdoesnotsupportdatespriortomidnight(00:00:00),January1,1970in"whenusingthedate()function.我需要找到一种方法将我的UNIX时间戳,即“1293559200”(2010年12月28日)转换为我可以作为正确日期传递的内容。 最佳答案 SELECTFROM_UNIXTIME(UNIX_TIMEST

php - 与 mysql_query 相比,使用 PDO::query 是否有任何安全优势?

我想重构一些遗留的PHP代码,我知道PDO通过添加准备好的语句等更安全,但我想知道使用PDO::是否有任何安全优势query()方法与mysql_query()方法。有吗? 最佳答案 除了PDO或mysql_*中的错误外,数据库查询的安全问题取决于正在运行的查询,而不是用于连接到数据库的内容。如果您使用userdata创建一个不安全的查询并使用PDO::query()执行它,它与使用mysql_query()一样不安全。同样,如果您有安全查询,使用PDO::query()运行它实际上与使用mysql_query()相同。

php - 在 PHP 中执行存储过程后调用 odbc_fetch_array 给出错误 [Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index

因此,我尝试使用ODBC在SQL数据库中执行存储过程,但它返回错误odbc_fetch_array()[function.odbc-fetch-array]:SQLerror:[Microsoft][ODBCSQLServerDriver]InvalidDescriptorIndex,SQLstateS1002inSQLGetData这是PHP部分,非常标准...$id=240$user="user";$password="password";$server="server";$database="database";$con=odbc_connect("SERVER=$server;

php - 用于 PHP 程序的快速大规模键值存储

我正在为我的一个项目开发全文索引系统。作为索引页面过程的一部分,它将数据分成非常非常多的非常小的部分。我已经将片段的大小设置为低至20-30字节的常量,并且可能更少,它基本上是由2个8字节整数和一个float组成的实际数据。由于我正在寻找的规模和由此产生的碎片数量,我正在寻找mysql的替代品,它在远低于我的目标的值集上显示出重大问题。我目前的想法是键值存储是最好的选择,我已经相应地调整了我的代码。我已经尝试了一些,但出于某种原因,它们的扩展性似乎都比mysql小。我希望存储数亿或数十亿或更多的键值对,因此我需要的东西不会因大小而导致性能大幅下降。我尝试过memcachedb、memb

php - 将 $item = mysql_fetch_assoc($stmt) 更改为准备语句样式

此代码有效,但我正在尝试找出如何更改$rose=mysql_fetch_assoc($stmt);“准备好的语句样式”部分。有人知道吗?$rose_id=$_GET['rose_id'];//preparethestatement$stmt=$conn2->prepare("SELECT*FROMrosenameLEFTJOINrosevarietyON(rosename.variety_name=rosevariety.variety_name)WHERErose_id=?");//bindtheparameters$stmt->bind_param("i",$rose_id);//