Sen mysql_query () çağrısının dönüş değerini kontrol etmeniz gerekir.
http://php.net/manual/en/function.mysql-query.php
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
Şu anda, aslında hata durumunu vurmak asla ve aslında MySQL size geri gönderiyor bu ne (varsa) hata görmezsiniz.
Ayrıca, muhtemelen sorgu takmayı yerine sadece normal dize Concatentation yapıyorsun değerleri kaçmak istiyorum. Bunu yapmazsanız, app bir SQL enjeksiyon saldırısına karşı savunmasız olabilir. İşte güvenli bir sorgu oluşturmak için nasıl:
$query = sprintf("INSERT INTO staff (name, lastname, username, password, position, department, birthmonth, birthday, birthyear, location, phone, email, street, city, state, country, zip, tags, photo) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
mysql_real_escape_string($name),
mysql_real_escape_string($lastname),
mysql_real_escape_string($username),
mysql_real_escape_string($password),
mysql_real_escape_string($position),
mysql_real_escape_string($department),
mysql_real_escape_string($birthmonth),
mysql_real_escape_string($birthday),
mysql_real_escape_string($birthyear),
mysql_real_escape_string($location),
mysql_real_escape_string($phone),
mysql_real_escape_string($email),
mysql_real_escape_string($street),
mysql_real_escape_string($city),
mysql_real_escape_string($state),
mysql_real_escape_string($country),
mysql_real_escape_string($zip),
mysql_real_escape_string($tags),
mysql_real_escape_string($photo));
EDIT: Sadece başka bir cevap yorumunuzu gördüm. Zaten kaçan gibi yapıyoruz:
$birthday = mysql_real_escape_string(trim($_POST['birthday']));
sonra sorguyu oluştururken bunu kaçmak gerekmez. Muhtemelen size bir şey eksik olmadığı açıktır böylece sorgu oluşturmak anda kaçan yapmak için daha iyi bir uygulamadır.
EDIT2: Docs göre, mysql_connect () ev sahibi, kullanıcı ve parola almalı ve daha sonra (daha sonra) çağrısı doğru veritabanını almak için bir mysql_select_db yapmak gerekir.
http://www.php.net/manual/en/function.mysql-select-db.php
$dbc = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$dbc) {
die('Could not connect: ' . mysql_error());
}
// make foo the current db
$db_selected = mysql_select_db(DB_NAME, $dbc);
if (!$db_selected) {
die ('Could not select database: ' . mysql_error());
}
(BTW, sizin sorunuzu düzenleyebilir ve daha sonra bu konu bulma başkalarına yararlı olabilir bu yüzden orijinal metni geri koymak gerekir!)