PHP shell_exec INSERT MySQL - PullRequest
       6

PHP shell_exec INSERT MySQL

1 голос
/ 10 мая 2011

Я пытаюсь вставить некоторые данные в таблицу с помощью shell_exec (на локальном хосте).

Вот код, который я использую:

$shellExec = 'C:\wamp\bin\mysql\mysql5.1.36\bin\mysql -h localhost -u root mm_'.$acname.' INSERT INTO account (acct_name,start_date,active,name,address1,address2,postcode,telephone,website,email,vat_number,vat_amount,start_number,currency) VALUES("'.$company.'","'.$start_date.'","'.$active.'","'.$acname.'","'.$address1.'","'.$address2.'","'.$postcode.'","'.$telephone.'","'.$website.'","'.$email.'","'.$vat_number.'","'.$vat_amount.'","'.$start_number.'","'.$currency.'")';

shell_exec($shellExec);

Который работает как:

C:\wamp\bin\mysql\mysql5.1.36\bin\mysql -h localhost -u root mm_robdunne22 INSERT INTO account (acct_name,start_date,active,name,address1,address2,postcode,telephone,website,email,vat_number,vat_amount,start_number,currency) VALUES("sdfsdfy","10-05-2011","1","robdunne22","fsdfs","dfsd","sdf","3423423434sdfsdf","cvxcvdfg","gfgh55ydddd","sdfs","sdfgggaacc","1","pound")

В командной строке.

Это не удается - в командной строке, если я запускаю это, он просто отображает справочную информацию MySQL.Я думаю, что проблема в том, что вход в MySQL и оператор INSERT должны быть разделены.Они отлично работают, если я их разделю, однако я не уверен, как заставить это работать - разделить на две части или одной командой оболочки.

Ответы [ 2 ]

2 голосов
/ 11 мая 2011

В документации по MySQL приведен пример, который поможет вам выполнить то, что вам нужно.

mysql -u root -p --execute="SELECT User, Host FROM mysql.user"

Надеюсь, это поможет.

0 голосов
/ 10 мая 2011

Попробуйте процитировать 'INSERT INTO [...skipped...] '

...