Codice: Seleziona tutto
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if (!@mysql_connect
Codice: Seleziona tutto
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if (!@mysql_connect
Codice: Seleziona tutto
<?php
if (!@mysql_connect("host","user","password")) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');
if (!@mysql_select_db("DBname")) exit('<p>Impossibile connettersi al database in questo momento.</p>');
$sql = @mysql_query("select post_id, user_id
FROM prefix_nometabella
ORDER by post_id, user_id");
$post_cor = '' ;
$user_cor = '' ;
while ($row = mysql_fetch_array($sql))
{
if($row['post_id'] == $post_cor && $row['user_id'] == $user_cor)
{
echo $row['post_id'] . " - " $row['user_id'] . "<br />";
}
$post_cor = $row['post_id'];
$user_cor = $row['user_id'];
}
?>
Codice: Seleziona tutto
43 - 18167
81 - 1546
81 - 2532
81 - 6042
95 - 14620
95 - 14620
95 - 14620
95 - 15441
95 - 15441
95 - 15441
181 - 4871
181 - 4871
181 - 4871
181 - 5459
181 - 5459
181 - 5459
181 - 7268
181 - 7268
181 - 7268
....
Codice: Seleziona tutto
Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.
grazie, ma la mia domanda eraMicogian ha scritto:Infatti quella è una query che visualizza le righe doppie, non le toglie, ma se hai la lista puoi sempre cancellare il record doppio con phpmyadmin.
sono 34.800 vociquale comando dovrei mettere per trovarle in modo da eliminare i doppioni?
Codice: Seleziona tutto
DELETE FROM ``.`avphpbb_thanks` WHERE `avphpbb_thanks`.`post_id` = 10 AND `avphpbb_thanks`.`user_id` = 5459 AND `avphpbb_thanks`.`thanks_from` = 0 AND `avphpbb_thanks`.`thanks_to` = 0 AND `avphpbb_thanks`.`poster_id` = 0 LIMIT 1
Con una versione precedente di PHPMyAdmin si puo modificare, con la versione nuova che ho su una VPS non piu, a parità di tabellaLa tabella è impostata male, manca un campo univoco che potrebbe essere un semplice "id" contatore.
Se non hai un id univoco in phpmyadmin non puoi modificare i records.
Fai una copia della tabella e prova ad aggiungere nella struttura un campo "id_tanks" o "tanks_id" all'inizio come "contatore".
Il campo prende un numero progressivo e a questo punto puoi modificare o eliminare il record.
Risolto facendo riga nuova all'inizio con flaggato AI (AutoIncrement)brunino ha scritto:Dalla nuova versione phpmyadmin non puoi cancellare/modificare le righe se non c'e un campo univoco in quella tabella.
Inviato dal mio GT-S5360 con Tapatalk 2
La mia risposta riguarda la prima parte, come trovarle, l'eliminazione è un'altra procedura.quale comando dovrei mettere per trovarle in modo da eliminare i doppioni?
Codice: Seleziona tutto
DELETE FROM ``.`avphpbb_thanks` WHERE `avphpbb_thanks`.`post_id` = 10 AND `avphpbb_thanks`.`user_id` = 5459
Codice: Seleziona tutto
DELETE FROM ``.`avphpbb_thanks` WHERE `avphpbb_thanks`.`thanks_id` = XXX
Codice: Seleziona tutto
<?php
if (!@mysql_connect("host","user","password")) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');
if (!@mysql_select_db("DBname")) exit('<p>Impossibile connettersi al database in questo momento.</p>');
$sql = @mysql_query("select post_id, user_id, id_tanks
FROM avphpbb_thanks
ORDER by post_id, user_id");
$post_cor = '' ;
$user_cor = '' ;
$i= 0;
while ($row = mysql_fetch_array($sql))
{
$id_tanks[$i] = $row['id_tanks'] ;
$post_id[$i] = $row['post_id'] ;
$user_id[$i] = $row['user_id'] ;
if( $post_id[$i] == $post_cor && $user_id[$i] == $user_cor)
{
$sql1 = "DELETE FROM avphpbb_thanks WHERE id_tanks = " . $id_tanks[$i];
if(@mysql_query($sql1))
{
echo "record " . $id_tanks . " eliminato.<br />";
}
}
$post_cor = $post_id[$i]
$user_cor = $user_id[$i]
++$i
}
?>
Visitano il forum: Baidu [Spider] e 63 ospiti