0

こんにちはこれは私のコードです:

<?

$DBNAME='astbase.db';
$MYTABLE ='extens';

$wsdl = "wwwwww";
$reply = "wwww";
$idsms = "4";
$exten = 100;

$base= new PDO('sqlite:'.$DBNAME);//, 0666, $err);
$query = "CREATE TABLE IF NOT EXISTS $MYTABLE(id INTEGER PRIMARY KEY,exten VARCHAR(255), wsdl TEXT, reply text, idsms INTEGER)";    
$results = $base->exec($query);
print_r($results);

$query = "INSERT INTO $MYTABLE(id,exten,wsdl,reply,idsms) VALUES(NULL,'$exten','$wsdl','$reply',$idsms)";
$results = $base->exec($query);
print_r($results);

?>

コマンドライン(php5 script.php)でスクリプトを実行すると正常に動作しますが、Webブラウザーで実行すると、最初のステートメントのみが実行されます。どうしたの ??

ありがとう

4

1 に答える 1

1

あなたがすべき

  • PHPエラーログファイルを確認してください
  • sqlite_last_error()最初のステートメントの直後に関数を呼び出します(手動

これは権限の問題だと思います。つまり、Webサーバーにはsqliteデータベースファイルが配置されているディレクトリに書き込む権限がありません。

独自のユーザー権限を使用するため、コマンドラインで機能します(ブラウザーでは、Apacheのユーザーを使用しますが、多くの場合、権限は少なくなります)。

于 2012-05-10T08:40:14.063 に答える