PHP はコンピュータでは正常に動作しますが、Linux ターミナルでは動作しません。 解決策: 頭が痛いです。

WBOY
リリース: 2016-06-13 13:13:59
オリジナル
763 人が閲覧しました

PHP はコンピュータでは正常に動作しますが、Linux ターミナルでは正常に動作しません。
私の php ファイルの内容:

で致命的なエラーが発生します。非オブジェクト オンライン 16

$DB->connection->query("create table test(id integer Primary key,name varchar(50),grade varchar(50),score varchar(50) )");Always この行にエラーがある場合は、ここに投稿します

私のコンピューターで実行すると、まったく正常で、データを挿入できます。しかし、 Linux ターミナル、エラーが表示され続けておかしくなってしまいました。ターミナルの設定に問題がありますか?

header("content-Type: text /html; charset=Utf-8");

//uiceshi.html ページを取得して送信します Data
$fname = $_POST['fname']; //Name
$ fgrade = $_POST['fgrade']; //成績
$fscore = $_POST['fscore']; //スコア

//$sql = 'テスト値に挿入;';

//データベースインスタンスを作成します

$DB = new SQLite('blog .db') //このデータベースファイルの名前は任意です

// test
$DB->connection->query("create table test(id integer Primary key ,name varchar(50),grade varchar(50),score varchar(50))" という名前のテーブルを作成します。 ); この行にエラーがあることを示すプロンプト

//insert ステートメントを実行します
//$result = $DB->query("insert into test(name,grade,score) ('".$fname."','".$fgrade."','".$fscore."')");
$result = $DB->connection->query("insert into test(name,grade,score) value('".$fname."','".$fgrade."','".$fscore." ')");

//返された結果は主にデバッグに使用されます
print_r($result);


//SQLite class
class SQLite
{
function __construct($file)
{
try
{
$this->connection=new PDO('sqlite:'.$file)
}
catch(PDOException $e)
{
try
{
$this->connection=new PDO('sqlite2:'.$file);
}
catch (PDOException $e)
{
exit( 'エラー!');
} }
}
}

関数 __destruct()
{
$ this->connection=null; 🎜>
function query($sql) //データの更新と削除に使用できる SQL を直接実行します
{
return $this->connection ->query($sql)
}

function getlist($sql) //レコードリストを取得します
{
$recordlist=array()
foreach($ this->query($sql); as $rstmp)
{
$recordlist[]=$rstmp;
}
return $recordlist; }

関数 Execute($sql)
{
return $this->query($sql)->fetch();
}

function RecordArray($sql)
{
return $this-> query($sql)->fetchAll();
}

function RecordCount($sql)
{
return count($this- >RecordArray($sql));
}

function RecordLastID()
{
return $this->connection->lastInsertId();
} }
}
?>


-----解決策---------

LINUX 上の SQLITE がインストールされていませんか?

------解決策---------
SQLITE データファイルが保存されているディレクトリは書き込み可能ですか? 権限についてはどうですか?

ディスカッション

しかし、Linux の地下にデータを含む data.db を置くと、ターミナルはそれを読み取ることはできますが、データを挿入することはできません。 🎜>

------解決策---------
7777 権限を付与する

------解決策----------------------

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート