Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Mengapa data tidak bisa di insert ke tabel database mysql?

selamat malam, permisi, assalamualaikum wr.wb. saya mau tanya, ini bagaimana ya solusinya agar data yang telah di fetch bisa terambil kemudian bisa di insertkan ke tabel lain? jadi, di sini saya ingin mengambil data pada tabel data_token di kolom kata_kunci. kemudian isi dari kolom kata_kunci bertipe mediumtext, lalu ingin saya ambil dan saya insert ke tabel termfrequency untuk menghitung jumlah kata dari tiap2 dokumen (sortir by id). berikut source code saya :

 <?php
//koneksi
#connection
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'datajurnal';
error_reporting(E_ALL ^ E_DEPRECATED);
mysql_connect($dbhost,$dbuser,$dbpass) or die(mysqli_error('cannot connect to the server'));
mysql_select_db($dbname) or die(mysqli('database selection problem'));

//pendeklarasian array
$arrayterm = array();//array untuk menyimpan term
$arraydocument = array();//array untuk menyimpan document
//membaca dokumen per baris
mysql_select_db('datajurnal');
$select = mysql_query("SELECT kata_kunci FROM data_token ORDER BY id_token ASC");//membaca dokumen seacara terurut berdasarkan kolom kata_kunci
$i=0; //inisial untuk id

//melooping data per record. dari record 1 s.d. record 100 untuk mengambil data kata_kunci
while ($i <= 100)
{
	//mengambil data array berdasarkan index array associatif
	while($dokumen = mysql_fetch_assoc($select,MYSQL_ASSOC))// mengambil data array asosiatif per baris demi baris di semua dokumen. array assosiatif maksudnya adalah array yang bertipe non numeric
	{
		$conv_arr_to_str = implode("/",$dokumen); //data string
		$conv_str_to_arr = explode("\n", $conv_arr_to_str); //data array
		$i++;
	}
		$i++;
		$data_array = $conv_str_to_arr[$i];
		//looping untuk ngecek term
		for ($i=0; $i < sizeof($conv_str_to_arr) ; $i++) //melakukan looping sejumlah array yang ada sampai array terakhir, looping baru berhenti
		{
			foreach ($conv_str_to_arr as $term)
			{
				if (!array_key_exists($term,$arrayterm))
				{
					$arrayterm[$term] = 1;
					foreach ($arrayterm as $katakunci => $tf)
					{
						mysql_query("INSERT INTO termfrequency (term,freuency) VALUES ({'$term'},{$tf})");
						mysql_query("SELECT DISTINCT term FROM termfrequency ORDER BY  id_term ASC");//untuk menghapus duplikasi data yang sama
					}
				}
				else
				{
					error_reporting(E_ALL ^ E_DEPRECATED);
					$koneksi = mysql_connect($dbhost,$dbuser,$dbpass) or die();
					if(!$koneksi)
					{
						echo "tidak ada koneksi ke database : " . mysql_error();
						exit;
					}
					if(!mysql_select_db("datajurnal"))
					{
						echo "tidak ada database yang dipilih : " . mysql_error();
						exit;
					}
					$sql = "SELECT kata_kunci FROM data_token ORDER BY id_token ASC, kata_kunci ASC";
					$hasilsql = mysql_query($sql,$koneksi);
					//menghitung jumlah kata per dokumen
					$doc = 0;

					if(!$hasilsql)
					{
						echo "query tidak berjalan dengan sukses($sql) dari database : " . mysql_error();
						exit;
					}
					if(mysql_num_rows($hasilsql) == 0)
					{
						echo "Baris data tidak ditemukan, tidak ada yang dapat ditampilkan";
						exit;
					}

					if(!$hasilsql)
					{
						die('penulisan query salah : ' .mysql_error());
					}
					mysql_select_db($dbname) or die(mysqli('database selection problem'));
					mysql_select_db('datajurnal');

					while ($sel_document = mysql_fetch_assoc($hasilsql,MYSQL_BOTH))//ambil array kata_kunci dari tabel data_token
					{
						$string = implode("/", $sel_document);
						$arr = explode("\n", $string);
						if($doc < $hasilsql)
						{
							$jumlaharr = count($arr);

							for($doc = 0; $doc <= $jumlaharr; $doc++)
							{
								$arrayterm[$term] = $arrayterm[$term] + 1;
								foreach ($arraydocument as $document => $freqdoc)
								{
									$freqtotal = mysql_query("SELECT SUM(frequency) as frequency_total FROM termfrequency");
									$freqdoc = $freqtotal;
									mysql_query("INSERT INTO termdocument($term,frequency_total) VALUES ({'$document'},{$freqdoc})");
								}
							}
						}
						else
						{
							echo "data gagal diambil";
						}
					}
				}
			}
		}
}
?>
avatar mseven
@mseven

1 Kontribusi 0 Poin

Diperbarui 8 tahun yang lalu

2 Jawaban:

Coba ganti mysql menjadi mysqli Pake 'i'..

avatar dodipsitorus
@dodipsitorus

412 Kontribusi 145 Poin

Dipost 8 tahun yang lalu

Jawaban Terpilih

Terhitung dari PHP versi 5.5, extension mysql tidak lagi disarankan penggunaannya dan berstatus deprecated, yang berarti mungkin akan dihapus pada PHP versi berikutnya. Kita disarankan untuk mulai beralih menggunakan mysqli atau PDO. Mari kita bahas tentang mysqli terlebih dahulu... http://www.duniailkom.com/tutorial-php-mysql-perbedaan-mysql-dan-mysqli-extension-php/

avatar dodipsitorus
@dodipsitorus

412 Kontribusi 145 Poin

Dipost 8 tahun yang lalu

Login untuk ikut Jawaban