2017-04-12 6 views
0

皆さんにお会いできてうれしいです。 私はPython cgiを初めて使い、PHPで少し経験があります。 PHPを使用して、To doプログラムを作成しました。それを完了した後、私は同じプログラムをPython cgiで書いて、どう違うかを調べることにしました。しかし、私はPythonには本当に新しいので、行を削除する方法についての基本的な知識に悩まされています。 PHPでPython cgiを使ってデータベースから情報の特定の部分を取得するには?

<?php 

require_once 'init.php'; 

if(isset($_GET['item'])){ 

    $id = $_GET['item']; 

    if(!empty($id)){ 
     $deleteQuery = $db->prepare(" 
      DELETE 
      FROM items 
      WHERE id=:id 
     "); 

     $deleteQuery->execute([ 
      'id' => $id 
     ]); 

    } 

}; 

header('Location:webPHP.php'); 

行の特定の部分を取得するが、私はそれをどのように行うことができますし、それは、Pythonと空でないかどうかを確認簡単なのですか?

+0

SQL、SQLite、他に何か? –

+0

wampサーバーを使用しているmysql – Vidma

+0

私はこのコンピュータ上でmysqlを実行していないので、直接的な回答は得られません。もしあなたが** python cgi mysql **のためにSOを検索するなら、いくつかは有用かもしれない結果の集まりを得るでしょう。確かにhttp://stackoverflow.com/questions/22443209/returning-output-of-python-cgi-mysql-scriptで十分でしょう。 'cursor.fetchall'の結果が空の場合(つまり' None')、SQL selectで指定した行が存在しないことがわかります。 –

答えて

0

私はこれに対する答えを覚えていません。 sqliteの場合と似ている可能性があります。この場合、次のようなメリットがあります。本質的に、いくつかのPythonライブラリは、SQLからPythonが理解できるNoneに入ってくるNULLを変更します。

import sqlite3 

import os 
os.chdir('c:/scratch') 

conn = sqlite3.connect('temp.sqlite') 
conn.row_factory = sqlite3.Row 
c = conn.cursor() 

c.execute('''SELECT * FROM JustDate WHERE Date_1 = "1970-01-23"''') 

for row in c.fetchall(): 
    for key in row.keys(): 
     if row[key]: 
      print ('Field ', key, 'is not NULL (', row[key], ')') 
     else: 
      print ('Field ', key, 'is NULL') 

Field Date_1 is not NULL (1970-01-23) 
Field Date_2 is NULL 
Field Date_3 is not NULL (2014-08-17) 

これは2レコードのデータベーステーブルです。レコードの1つを選択し、フィールドの内容がNoneかどうかをチェックする方法を示します。

つまり、if <name><name>が0以外の値に評価される場合、空でない文字列(またはその他のものの1つ)がTrueであると評価されます。それ以外の場合はfalse。

+0

鍵は何を表しますか? – Vidma

+0

'row.keys()'は辞書です。 'key'は辞書のキーのセットから一連の値を取る形式変数です。それが想定する各値は、辞書内の「キー」です。私は 'keys'の代わりに任意の識別子を使用できました。 –

+0

しかし、あなたの例によると、データの特定の部分を選択します。他のページから送信したデータにアクセスする必要があります print( "Delete" .format(x [0])) – Vidma

関連する問題