استفاده از ignore

mgh67

Member
سلام
دوستان عزیز من در کدی از سایت می خوام درصورتی که یک مطلب تکراری بود اون رو اضافه نکنه برای این کار از کد ایگنور استفاده کردم اما متاسفانه کار نمی کند و مطلب تکراری رو هم دوباره اضافه می کند البته فرقی نداره هر بار یک مطلب میفرستید باز هم بدون ایگنور شدن در بانک ذخیره می شود مشکل کجا هست و شما چه راه حلی پیشنهاد می کنید نمونه کد من
PHP:
mysql_query("INSERT IGNORE INTO autonews (title, des, link, newsdate, newsshow, home, comment) VALUES('$autotitle', '$autodescription', '$autolink', '$updatetime', 0, 1, 1)");

با تشکر
 

mgh67

Member
دوست عزیز اینجا رو هم خوندم اما این قبلا دیده بودم!
مگه در اون خط کد ایرادی هست مثل همون صفحه هست؟!
ایراد کد من چیه؟
 

Masoud1365

مدیر انجمن
سینتکستون که ظاهرا درست هست !
PHP:
"insert ignore into `test` (`col1`, `col2`) values ('test1', 'test2')";
یه مثال هم توی خود سایت mysql هست اینو تست کنید »
PHP:
<?php
$myi = new mysqli("localhost", "user", "pass", "dbname");
$myi->query( <<<SQL_CREATE
create temporary table test_warnings
    (
    `id_` int(11) NOT NULL,
    `num_` int(11) default NULL,
    PRIMARY KEY (`id_`)
    );
SQL_CREATE
);
$sth=$myi->prepare("insert ignore into test_warnings (id_, num_) values (?,?)");
$id = 9;
$num = 1;
for( $i=0; $i<2; $i++ )
{
    $sth->bind_param( "ii", $id, $num );
    $sth->execute();
    $r = $myi->affected_rows;
    print "r==$r\n<br>";
    $sth->reset;
}
$sth->close();
?>
 

MMSHFE

Active Member
با سلام، IGNORE فقط روی فیلدهای ایندکس شده کار میکنه. باید اون فیلدی که میخواین تکراری قبول نکنه رو INDEX کنید (Unique باشه بهتره).
موفق باشید.
 

جدیدترین ارسال ها

بالا