2016-04-14 16 views
-1

Buraya bir yanıt bulmaya çalıştım, bununla ilgili PHP dokümanı okudum, ancak çok iyi açıklamıyor.PHP MYSQL Seçilmiş Son İleti ID

Sadece kullanıcı tarafından eklenen son kimliği almaya çalışıyorum. MYSQL'in kullanımdan kaldırıldığını biliyorum, ancak bunu bu şekilde yapmalıyım.

Şimdiye dek sahip olduğum şey budur.

$query="INSERT INTO teams (team_name) 
VALUES 
('$team_name')"; 
mysql_query($query) or die('error'); 

$team_id = mysql_query("SELECT LAST_INSERT_ID()"); 

Teşekkürler!

+1

Ve problem nedir? – Chris

+1

Bu şekilde yapmanız gerek, çünkü bir okul projesi mi? Git ve okuluna yanlış olduklarını söyle ... ve muhtemelen wifi ağlarında çok zayıf bir güvenlik var ve bluetoothları kolayca ele geçirilebilir. – Martin

+1

(Ayrıca kodunuzun SQL Injection'a karşı savunmasız kalmasını sağlamak için * gerekiyor mu? * SQL metnine eklenen değerlerden düzgün bir şekilde kaçınılamaması için bir * need * var mı?) SELECT deyiminin uygulanmasından sonra (kullanımdan kaldırılmış) mysql_query işlevi, sonuç kümesini döndürmeli veya FALSE döndürmelidir (yalnızca çalıştırdığınız her SELECT deyimi gibi). Bir satırdan bir satır getirdiğinizde, dönüşün FALSE, yani, sonraki satırda (gösterilmiyor) olup olmadığını sınayabilirsiniz. resultset, ne olur? (Bir soru soruyor muydunuz * bir soru * Veya sadece bir durum raporu veriyor musunuz?) Tabloda bir AUTO_INCREMENT sütun var mı? – spencer7593

cevap

1

Bunu PHP ile yapabilirsiniz. Bir sorgu gerekmez:

+0

Bağlantılı sayfadaki büyük kırmızı kutuyu görüyor musunuz? 'mysql_' işlevlerinde artık kullanılmamalı – kero

+1

@kingkero OP özellikle kullanım dışı 'ext/mysql' uzantısını kullanması gerektiğini söyledi. – Mike

+2

@kingkero adil olalım, muhtemelen 'MySQL_': -D – Martin

1

mysql_insert_id()mysql_insert_id bir göz() http://php.net/manual/de/function.mysql-insert-id.php

atın Ama ON DUPLICATE KEY UPDATE ifadelerini kullanırken sorunlar sakının. Php doc sayfasındaki yorumlarda açıklanmıştır.

Ama çözümünüz de işe yaramalı.

Ayrıca, eğer mysql kullanıyorsanız, kasanızdaki mysql_real_escape girişinizi, $team_name unutmayın.

[insert zorunlu MySQL burada uyarı itiraz edildi;)]

+1

alıntıları kaldırmak .. sadece '$ team_id = mysql_insert_id();' – arkuuu