Senaryolarım daha güvenli hale getirmek için bir çaba, ben mysql enjeksiyonu önlemek için hazırlanmış deyimleri kullanmaya başladı. Bu komut sadece iyi veri ekler, ancak bu doğru kimlik numarası dönmek gerektiği zaman (veritabanında oto incrementation göre) son eklenen id alıyorum şimdi 0 döndürür.
Bu bölüm sadece iyi ekler.
$stmt = $conn->prepare("INSERT INTO users (userName) VALUES (?)");
$stmt->bind_param("s", $_SESSION['username']);
$stmt->execute();
Ben sorunları yaşıyorum yerdir. Ben kullanıcı son eklenen kimliği almak için çalışıyorum ve 0 dönüyor.
// Get the last inserted ID for the users ID
$query = "SELECT LAST_INSERT_ID()";
$result = mysql_query($query);
if ($result) {
$nrows = mysql_num_rows($result);
$row = mysql_fetch_row($result);
$userId = $row[0];
}
Ben Hazırlanan Tablolara başlamadan önce benim senaryo vardı bu çalışıyordu. Ben değiştim tek şey verileri eklemek için Hazırlanan Açıklama ekleme ve aşağıdaki gibi benim db bağlantısı:
$conn = new mysqli($server, $user, $password, $database) or die('Could not connect: ' . mysql_error());
Ben php ile bir çaylak yüzden herhangi bir yardım büyük mutluluk duyacağız duyuyorum.