PHPのexec()からSQLのINSERT文を実行するpythonを動かすことはそもそもできないのでしょうか?
INSERTされなくて困っています。
ご教示の程、よろしくお願いいたします
python側(HCN682.py) connect = MySQLdb.connect(user='root',passwd='9999',host='192.168.0.100',db='tool') cursor = connect.cursor() cursor.execute("insert into td_hcn6800_2_test (pkno,tno) values(%s,%s)" % (1,1)) connect.commit() cursor.close connect.close PHP側 $name = 'python HCN682.py'; exec($name);
追記1:
exec()に$statusを加えてvar_dump($status);してみたら、int(1)が返ってきました。失敗しているようです
$name = 'python HCN682.py'; exec($name,$output,$status); var_dump($status);
追記2:
PHPからpythonは実行することはできるのですが、やはりpython内でINSERT文が効きません。
なにかMySQL側で権限の付与等が必要なのか…と思ってしまいます。ご意見ありましたら、よろしくお願いいたします。
追記3:
import MySQLdbでコケている感じもします。フルパスは必要?(フルパスがわかりません)
追記4:
下記コマンドを実行すると、
$name = 'python HCN682.py 2>&1';
exec($name,$output,$status);
var_dump($status);
var_dump($output);
下記が表示されました。
int(1) array(4) { [0]=> string(34) "Traceback (most recent call last):" [1]=> string(74) " File "C:\Apache24\htdocs\mazak\mazak_php\HCN682.py", line 4, in " [2]=> string(18) " import MySQLdb" [3]=> string(46) "ModuleNotFoundError: No module named 'MySQLdb'" }
回答4件
あなたの回答
tips
プレビュー