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..

avatar Yohanez
@Yohanez

13 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

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>

avatar 24361
@24361

17 Kontribusi 9 Poin

Dipost 5 tahun yang lalu

Jawaban Terpilih

  1. check tabel di variable result apakah ada atau tidak
  2. variable num_rows ngecheck bilang 0 atau 1
  3. 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 &gt; 0) { // update } else { // insert } </pre>

avatar lionkip
@lionkip

65 Kontribusi 49 Poin

Dipost 5 tahun yang lalu

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 &gt; 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?

avatar Yohanez
@Yohanez

13 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

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 &gt; 0) { echo "insert"; } else { echo "update"; } </pre>

avatar lionkip
@lionkip

65 Kontribusi 49 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban