SEÇ yürütmek ve PHP / MySQL ile tek bir sorguda INSERT nasıl?

7 Cevap php

Ben 3 alanları, id, Name, Email (id olup auto_increment alanı) user_name bir tablo var. Ben PHP aşağıdaki sorguyu çalıştırmak istiyorum, ama onun herhangi bir sonuç döndürüyor değil.

INSERT INTO user_name (Name, Email) VALUES ('Example', 'example@xyz.com'); 
SELECT LAST_INSERT_ID() AS 'userid';

Ben aşağıdaki gibi PHP yukarıdaki sorguyu yürüttükten olduğum zaman sonra onun bir şey değil dönen.

$_SQL="INSERT INTO user_name (Name,Email) VALUES ('Example', 'example@xyz.com'); 
SELECT LAST_INSERT_ID() AS 'userid';";

$result_last_id = @mysql_query($_SQL);
$rs_insert = mysql_fetch_array($result_last_id);

$new_userid = $rs_insert['userid'];

Herkes nasıl birine hem sorguları yürütmek için bana söyleyebilir misiniz.

7 Cevap

Basit cevap gerçekten: Sadece bunu yapamaz.

http://php.net/mysql_query

Ben de hata bastırma operatörü önlemek önerebilir '@' mysql_query Eğer herhangi bir mysql hataları farkında olmayabilir gibi. En azından yapmak

mysql_query($sql) or die("error: " . mysql_error()) ;

Eğer ile Zend Framework kullanıyorsanız bir PDO MySQL veritabanı tanımlı, sadece kullanmak istiyorsunuz:

$database=Zend_Db::factory('PDO_MySQL',Array('hostname'=>'localhost','username'=>'x','password'=>'y','dbname'=>'z');
$connectionHandle=$database->getConnection();
$rowsInserted=$connectionHandle->insert('database_name','INSERT INTO x (a,b) VALUES (c,d)');
if ($rowsInserted>0) {
 $autoIncrementValue=$connectionHandle->lastInsertId();
}

Yes You can using Shell command <BR> mysql -user -p -h database -e ' SQL STATEMENT 1; SQL STATEMENT 2; SQL STATEMENT 3; .......; '

Php / MYSQL Programmer

Bu u ne istiyorsun olabilir:

insert into table1 (Name,Emails) values ('qqq','www');
select max(id) as lastinserted from table1;