رفتن به مطلب
  • 0

رکورد تکراری در دیتابیس


reza71

سوال

آقا یک دیتابیس mysql ساختم برای سرور .میخوام با بیسیک بهش رکورد بفرستم.فیلدهاش شامل id .name.score .میخوام وقتی اسم تکراری بود رکورد جدید جایگزین قبلی بشه.الان مشکلش اینه که مثلا میتونه دوتا رضا توش ثبت بشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

9 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

خب شما اول یکاری کن.اول باید بیایی دیتابیسو بگیری یا به نوبه ای SELECT کنی و فیلد name رو با الاعات جدید مقایسه کن اگه یکی بود بیا کوئری UPDATE یا ویرایش رو بفرست وگرنه INSERT کنه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

به نظر من میتونید وقتی که خواستید کوئری رو ارسال کنید اول یک Search کنید اگه اون کوئری قبلا توی فیلد مورد نظر ثبت نشده بود بیاد Insert رو انجام بده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب شما اول یکاری کن.اول باید بیایی دیتابیسو بگیری یا به نوبه ای SELECT کنی و فیلد name رو با الاعات جدید مقایسه کن اگه یکی بود بیا کوئری UPDATE یا ویرایش رو بفرست وگرنه INSERT کنه.

میشه کد php شو برام بنویسید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

میشه کد php شو برام بنویسید

بنده Php شو ندارم ( پی اچ پی نویس نیستم ) میتونید توی گوگل سرچ کنید و پیدا کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان این کد رو زدم ولی کار نمیکنه

<?php
$db = "gigfa_15973583_highscore";//Your database name
$dbu = "";//Your database username
$dbp = "";//Your database users password
$host = "";//MySQL server - usually localhost
$dblink = mysql_connect($host,$dbu,$dbp);
$seldb = mysql_select_db($db);
If(isset($_GET['name']) && isset($_GET['score'])){
    //Lightly sanitize the GETs To prevent SQL injections and possible XSS attacks
    $name = strip_tags(mysql_real_escape_string($_GET['name']));
    $score = strip_tags(mysql_real_escape_string($_GET['score']));}
    if ($sql = mysql_query("select * from `Game1_scores` where name='$name'")){
         $sql = mysql_query("update `$db`.`Game1_scores` set(`id`,`name`,`score`) VALUES ('','$name','$score');");
         }else{
    $sql = mysql_query("INSERT INTO `$db`.`Game1_scores` (`id`,`name`,`score`) VALUES ('','$name','$score');");
    }
    If($sql){
         //The query returned TRUE - now do whatever you like here.
         echo 'Your score was saved. Congrats!';
    }Else{
         //The query returned FALSE - you might want To put some sort of error reporting here. Even logging the error To a text file is fine.
         echo 'There was a problem saving your score. Please try again later.';
    }

mysql_close($dblink);//Close off the MySQL connection To save resources.
?>

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینجور که من نگاه میکنم خطا زیاد داره*لال*(البته زیاد سر در نمیارم از php)

ولی یه چیزی بلدم اگه درست باشمم*زبونک*

آیدی رو قرار ندادید این خط:

        $sql = mysql_query("update `$db`.`Game1_scores` set(`id`,`name`,`score`) VALUES ('','$name','$score');");
         }else{
    $sql = mysql_query("INSERT INTO `$db`.`Game1_scores` (`id`,`name`,`score`) VALUES ('','$name','$score');");

اینجا که اصن کلن اشتباه هست یعنی خالی گذاشتی

$dbu = "";//Your database username
$dbp = "";//Your database users password
$host = "";//MySQL server - usually localhost

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینجور که من نگاه میکنم خطا زیاد داره*لال*(البته زیاد سر در نمیارم از php)

ولی یه چیزی بلدم اگه درست باشمم*زبونک*

آیدی رو قرار ندادید این خط:

        $sql = mysql_query("update `$db`.`Game1_scores` set(`id`,`name`,`score`) VALUES ('','$name','$score');");
         }else{
    $sql = mysql_query("INSERT INTO `$db`.`Game1_scores` (`id`,`name`,`score`) VALUES ('','$name','$score');");

اینجا که اصن کلن اشتباه هست یعنی خالی گذاشتی

$dbu = "";//Your database username
$dbp = "";//Your database users password
$host = "";//MySQL server - usually localhost

موفق باشید

ایدی خودکار پر میشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان این کد رو زدم ولی کار نمیکنه

<?php
$db = "gigfa_15973583_highscore";//Your database name
$dbu = "";//Your database username
$dbp = "";//Your database users password
$host = "";//MySQL server - usually localhost
$dblink = mysql_connect($host,$dbu,$dbp);
$seldb = mysql_select_db($db);
If(isset($_GET['name']) && isset($_GET['score'])){
    //Lightly sanitize the GETs To prevent SQL injections and possible XSS attacks
    $name = strip_tags(mysql_real_escape_string($_GET['name']));
    $score = strip_tags(mysql_real_escape_string($_GET['score']));}
    if ($sql = mysql_query("select * from `Game1_scores` where name='$name'")){
         $sql = mysql_query("update `$db`.`Game1_scores` set(`id`,`name`,`score`) VALUES ('','$name','$score');");
         }else{
    $sql = mysql_query("INSERT INTO `$db`.`Game1_scores` (`id`,`name`,`score`) VALUES ('','$name','$score');");
    }
    If($sql){
         //The query returned TRUE - now do whatever you like here.
         echo 'Your score was saved. Congrats!';
    }Else{
         //The query returned FALSE - you might want To put some sort of error reporting here. Even logging the error To a text file is fine.
         echo 'There was a problem saving your score. Please try again later.';
    }

mysql_close($dblink);//Close off the MySQL connection To save resources.
?>

کسی میتونه کمک کنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

دوست من این کلمات رو با حروف بزرگ بنویسید :

[/b][b]select
update
from
where[/b][b]

چون با حرف کوچیک عمل نمیکنه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...