草庐IT

PDO_SQLANYWHERE

全部标签

php - PDO:MySQL 服务器已消失

我有一个脚本,每晚都会做大量的跑腿工作。它使用在循环中执行的PDO准备语句。前几个运行良好,但后来我发现它们都因错误而失败:“MySQL服务器已消失”。我们运行MySQL5.0.77。PHP版本5.2.12网站的其余部分运行良好。 最佳答案 很可能您向服务器发送的数据包长度超过了允许的最大数据包长度。当您尝试插入BLOB超出服务器的最大数据包大小,即使在本地服务器上,您也会在客户端看到以下错误消息:MySQLserverhasgoneaway并且在服务器日志中出现以下错误消息:(如果启用了错误日志记录)Error1153Gotapa

php - PDO 准备好的语句有多安全

不久前开始使用PDO准备语句,据我了解,它为您完成了所有转义/安全。例如,假设$_POST['title']是一个表单域。$title=$_POST['title'];$query="insertintoblog(userID,title)values(?,?)"$st=$sql->prepare($query);$st->bindParam(1,$_SESSION['user']['userID'],PDO::PARAM_INT);$st->bindParam(2,$title);$st->execute();这真的安全吗?我还需要做什么吗?我还需要考虑什么?谢谢。

php - 检查空结果(PHP、PDO 和 MySQL)

这个问题在这里已经有了答案:Howtocheckfetchedresultsetisemptyornot?(1个回答)关闭7个月前。我在这里做错了什么?我只是从表中检索结果,然后将它们添加到数组中。在我检查空结果之前,一切都按预期工作......这将获得匹配,将其添加到我的数组中并按预期回显结果:$today=date('Y-m-d',strtotime('now'));$sth=$db->prepare("SELECTid_emailFROMdbWHEREhardcopy='1'ANDhardcopy_datebindParam(':today',$today,PDO::PARAM_

php - 我可以在 PHP 中使用 PDO 创建数据库吗?

我想创建一个使用PDO与MySQL交互的类。我可以使用PDO创建新的MySQL表吗? 最佳答案 是的,你可以。作为PDO构造函数的第一个参数的dsn部分不必具有数据库名称。您可以简单地使用mysql:host=localhost。然后,如果你有适当的权限,你可以使用常规的SQL命令来创建数据库和用户等。以下是来自install.php文件的示例。它使用root登录,创建一个数据库,一个用户,并授予用户对新创建的数据库的所有权限:exec("CREATEDATABASE`$db`;CREATEUSER'$user'@'localhos

php - 从 PDO 准备好的语句中获取查询

这个问题在这里已经有了答案:GettingrawSQLquerystringfromPDOpreparedstatements(16个答案)关闭2年前。有没有办法检索用于生成PDO准备语句对象的查询? 最佳答案 试试$statement->queryString. 关于php-从PDO准备好的语句中获取查询,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2243177/

php - 使用 PDO 驱动程序连接到 MongoDB

我可以使用PHP的php_mongo.dll驱动程序连接到这个数据库吗?如果可以,能否提供一些示例代码? 最佳答案 MongoDB需要自己的驱动程序。在您的情况下,PHP驱动程序位于此处:http://php.net/manual/en/book.mongo.php安装说明在该页面上。还有一些示例代码。 关于php-使用PDO驱动程序连接到MongoDB,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

php - SQLSTATE[42000] : Syntax error or access violation: 1064 You have an error in your SQL syntax — PHP — PDO

这个问题在这里已经有了答案:SyntaxerrorduetousingareservedwordasatableorcolumnnameinMySQL(1个回答)关闭5年前。我已经查看了所有其他StackOverflow(和google)帖子都遇到了同样的问题,但似乎都没有解决我的问题。我正在使用PDO和PHP。我的代码:$vals=array(':from'=>$email,':to'=>$recipient,':name'=>$name,':subject'=>$subject,':message'=>$message);print_r($vals);try{$pdo=newPDO

php - 在 PHP 中使用 PDO 打开的 SQL 连接是否必须关闭

当我只使用PHP的内置MySQL函数在PHP中打开MySQL连接时,我会执行以下操作:$link=mysql_connect($servername,$username,$password);mysql_select_db($dbname);//queriesetceteramysql_close($link);当我打开与PDO的连接时,它看起来像这样:$link=newPDO("mysql:dbname=$dbname;host=$servername",$username,$password);//preparestatements,performqueries我是否必须像使用my

php - 如何在 PDO PHP 中查看查询错误

try{$db=newPDO("mysql:host=".HOST.";dbname=".DB,USER,PW);$st=$db->prepare("SELECT*FROMc6ode");}catch(PDOException$e){echo$e->getMessage();}在上述情况下,如何检查查询的mysql错误? 最佳答案 您需要将错误模式属性PDO::ATTR_ERRMODE设置为PDO::ERRMODE_EXCEPTION。由于您希望prepare()方法抛出异常,因此您应该禁用PDO::ATTR_EMULATE_PRE

php - PDO mysql : How to know if insert was successful

我正在使用PDO插入记录(mysql和php)$stmt->bindParam(':field1',$field1,PDO::PARAM_STR);$stmt->bindParam(':field2',$field2,PDO::PARAM_STR);$stmt->execute();有没有办法知道它是否插入成功,例如记录是否因为重复而没有插入?编辑:我当然可以查看数据库,但我的意思是程序化反馈。 最佳答案 PDOStatement->execute()成功时返回true。还有PDOStatement->errorCode()您可以检