PHP / MySQL tablo sorunu?

1 Cevap php

Biri Ben sadece kullanıcı etiketi girdiğinde aynı olacaktır tag_id değeri q_tags tablolara etiketler tablolar id değer katmak için nasıl bilmiyorum, bir etiket girdiğinde benim mysql tabloları hem de hemen her şeyi güncelleyebilirsiniz.

Ben bu tamam açıkladı umuyoruz.

Birisi bana yardımcı olabilir.

Aşağıda MySQL tablo olduğunu.

CREATE TABLE q_tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag_id INT UNSIGNED NOT NULL, //This value should be same as the tags table id
users_q_id INT UNSIGNED NOT NULL,
PRIMARY KEY (id)
);

CREATE TABLE tags ( 
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);

Aşağıda yazısıdır.

<?php 

require_once ('./mysqli_connect.php');

if (isset($_POST['submitted'])) {

		$mysqli = new mysqli("localhost", "root", "", "sitename");
		$dbc = mysqli_query($mysqli,"SELECT q_tags.*, tags.* FROM q_tags, tags");
	if (!$dbc) {
		print mysqli_error($mysqli);
	}

$page = '3';
$tag = mysqli_real_escape_string($mysqli, $_POST['tag']);

$mysqli = new mysqli("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT q_tags.*, tags.* FROM q_tags INNER JOIN tags ON tags.id = q_tags.tag_id WHERE q_tags.users_q_id=3");

if(!mysqli_num_rows($dbc)){

$mysqli = new mysqli("localhost", "root", "", "sitename");
$clean_url = mysqli_real_escape_string($mysqli, $page);

$query1 = "INSERT INTO q_tags (tag_id, users_q_id) VALUES ('', '$page')";
$query2 = "INSERT INTO tags (tag) VALUES ('$tag')";

if (!mysqli_query($mysqli, $query1)) {
	print mysqli_error($mysqli);
	return;
}

if (!mysqli_query($mysqli, $query2)) {
	print mysqli_error($mysqli);
	return;
}

echo "$tag has been entered";

	if (!$dbc) {
			print mysqli_error($mysqli);
	}
}
mysqli_close($mysqli);
}
?>

1 Cevap

Bu sizin q_tags tabloya, null eklemek için çalışıyor gibi görünüyor. Eğer q_tags tabloya eklemek için önce son eklenen kimliği almak gerekir.

Bunun yerine bu deneyin:

$query1 = "INSERT INTO tags (tag) VALUES ('$tag')";
if (!mysqli_query($mysqli, $query1)) {
    print mysqli_error($mysqli);
    return;
}
$lastId = mysql_insert_id();
$query2 = "INSERT INTO q_tags (tag_id, users_q_id) VALUES ('$lastId', '$page')";
if (!mysqli_query($mysqli, $query2)) {
    print mysqli_error($mysqli);
    return;
}