在终端中执行的php文件中的pdo连接不起作用

时间:2011-06-11 17:00:27

标签: php mysql linux

我有一个php文件,如果在浏览器中执行工作正常,但是当我在终端中执行它时,

  

PHP   /opt/lampp/htdocs/xampp/site_name/update_db.php

pdo include和connection似乎不起作用,因为我收到了错误

  

找不到driverPHP致命错误:   调用成员函数prepare()   一个非对象   /opt/lampp/htdocs/xampp/site_name/update_db.php   在第8行

update_db.php

include("roc/include/connection.php");
$db = new PDOConnectionFactory();
$conn = $db->getConnection();

//prepare for utf8 characters
$sql = 'SET NAMES utf8';
$stmt = $conn->prepare($sql);
$result=$stmt->execute();

$sql = 'SET CHARACTER SET utf8';
$stmt = $conn->prepare($sql);
$result=$stmt->execute();
//**************************


 $sql = 'update video SET
status=? WHERE file_name=?';
$stmt6 = $conn->prepare($sql);
$result=$stmt6->execute(array('1','5cca985383047644f51c4f31d906c8f8'));

任何人都有任何想法?

3 个答案:

答案 0 :(得分:1)

此主题已解决。阅读评论。

答案 1 :(得分:0)

听起来像是权限问题。当您从浏览器执行脚本时,执行用户通常是您的Web服务器(即Apache),当您从控制台执行它时 - 登录用户正在执行它。

答案 2 :(得分:0)

是的,在命令行上,您需要设置路径或使用绝对路径。