Lorsque vous essayez d'insérer ou de mettre à jour, rien ne va dans la base de données. Ceci est la mise en page de tableInsérer/mettre à jour la requête
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`thesis_Name` varchar(200) NOT NULL,
`abstract` varchar(200) NOT NULL,
`complete` int(2) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`)
)
Comme vous pouvez voir l'ID est la clé unique. L'id_utilisateur est ce que la session regarde. Je veux qu'il soit possible pour l'user_id d'avoir deux lignes donc seul l'id devrait être unique et par conséquent cela devrait être la clé que l'on cherche à insérer ou à mettre à jour. C'est ce que j'utilise:
if (empty($err)) {
$id= mysql_real_escape_string($_POST['id']);
$thesis_Name = mysql_real_escape_string($_POST['thesis_Name']);
$abstract = mysql_real_escape_string($_POST['abstract']);
$user_id = intval($_SESSION['user_id']);
$query = sprintf("
INSERT INTO
`thesis`(`id`,`user_id`, `thesis_Name`, `abstract`)
VALUES
('%s','%s', '%s', '%s')
ON DUPLICATE KEY UPDATE
`thesis_Name` = VALUES(`thesis_Name`),
`abstract` = VALUES(`abstract`)
", $id, $user_id, $thesis_Name, $abstract);
S'il y a noway autour d'elle alors le user_id peut être unique aussi, seulement 1 ligne par utilisateur
Qu'est-ce qui se passe? Des erreurs sont-elles signalées? Quelle est votre question concrète? Ou devrions-nous juste rejoindre deviner avec vous? – hakre
Pour l'amour de Dieu, utilisez des requêtes paramétrées –
Si vous ne savez pas ce que Keith veut dire, ou pourquoi il le dit, lisez: [Bobby Tables] (http://bobby-tables.com) – eggyal