Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Update database dengan isi string
jadi mau coding jika datanya ada, maka akan terupdate, jika tidak ada maka dia akan insert.
if(mysql_num_rows() == 0){
$query = "INSERT INTO barang VALUES('".$fzeropadded."','".$barcode."','".$desc."','".$kategori."','".$lokasi."')"; }
else{
$query = "UPDATE barang set barcode='".$barcode."',desc='".$desc."',kategori='".$kategori."',lokasi='".$lokasi."' where plu='".$fzeropadded."')";
}
mau tanya penulisan syntax ini salahnya dmn ya? soalnya yang insert berhasil sedangkan si update ga berhasil..
4 Jawaban:
kurang parameter di mysql_num_rows() harusnya:
<pre> ... $result = mysql_query($sql,$conn) or die(mysql_error()); if(mysql_num_rows($result) == 0) ... </pre>
Jawaban Terpilih
- check tabel di variable result apakah ada atau tidak
- variable num_rows ngecheck bilang 0 atau 1
- jika $num_rows lebih besar 0 maka di insert, jika $num_rows lebih besar 1 maka data di update
<pre> $result = mysql_query("SELECT * FROM barang WHERE kode_barang='$isi_variable' LIMIT 1"); $num_rows = mysql_num_rows($result);
if ($num_rows > 0) { // update } else { // insert } </pre>
Tanggapan
bro coba baca komen d bawah
<pre>$fzeropadded = sprintf("%08d", $plu); // Buat query Insert $sql = "SELECT * FROM barang WHERE plu='$fzeropadded' LIMIT 1"; $result = mysqli_query($connect,$sql); $num_rows = mysqli_num_rows($result); if ($num_rows > 0) { $query = "UPDATE barang set barcode='".$barcode."',desc='".$desc."',kategori='".$kategori."',lokasi='".$lokasi."' where plu='".$fzeropadded."')"; } else{ $query = "INSERT INTO barang VALUES('".$fzeropadded."','".$barcode."','".$desc."','".$kategori."','".$lokasi."')"; } // Eksekusi $query mysqli_query($connect, $query); }
</pre> pake cara ini di echo bisa dpt jumlah rownya 0/1 ketika 0 dia berhasil input tetapi ketika 1 dia ga keupdate..ada yg salah kah?
check juga dengan echo kalau 1 larinya kemana, kalau nol larinya kemana, atau tinggal di balik insert ke update dan update ke insert kalau merasa bingung
<pre> if ($num_rows > 0) { echo "insert"; } else { echo "update"; } </pre>