• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کار با پایگاه داده
#1
Star 
من دارم یک سیستم مینویسم که با کلی مشکل ریز ریز برخورد کردم.مثلا insert به درستی انجام میشه ولی با وجود اینکه گفتم null نمیتونه باشه ولی باز insert میشه اگر خالی باشه فیلدها.بعضی از رکوردها هم الکی insert میکنه خودش.کمک لازم دارم.راهنمایی کنید.
  پاسخ
تشکر شده توسط :
#2
پیشفرض ستون ها NOT NULL هستن و کاملا هم درسته. برای بررسی کردن اینکه اگه یک ستون برای ردیفی خالیه یا نه نباید NULL بودنشو بررسی کنی. باید تعداد بگیری و چک کنی. نمونه:
کد پی‌اچ‌پی:
$query mysql_query("SELECT `tid` FROM `table` WHERE `uid` = '55'"); #id 55 vojod nadare pas natije 0 hast
if(mysql_num_rows($query)>=1)
//query dorost va natije vojood dare
}
else
{
//query doroste vali natije vojod nadare

غایب
  پاسخ
تشکر شده توسط : Reza
#3
Smile 
(۱۳۹۱ تير ۲۷, ۰۸:۰۷ ب.ظ)cyletech نوشته: پیشفرض ستون ها NOT NULL هستن و کاملا هم درسته. برای بررسی کردن اینکه اگه یک ستون برای ردیفی خالیه یا نه نباید NULL بودنشو بررسی کنی. باید تعداد بگیری و چک کنی. نمونه:
کد پی‌اچ‌پی:
$query mysql_query("SELECT `tid` FROM `table` WHERE `uid` = '55'"); #id 55 vojod nadare pas natije 0 hast
if(mysql_num_rows($query)>=1)
//query dorost va natije vojood dare
}
else
{
//query doroste vali natije vojod nadare


مرسییییییی
  پاسخ
تشکر شده توسط :
#4
سلام دوستان
من یک سایت با زبان php نوشتم توی لوکال کار میکنه اما الان اپش کردم و در قسمت ورود به مدیریت خطای زیر رو میده

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

اینم کدش:

کد:
[align=left]<?php
    mysql_select_db("news");
    if(isset($_POST['login_btn']))
    {
        $uname = $_POST['uname'];
        $upass = $_POST['upass'];
        
        if(($_POST['accept']) == 'مدیر سایت'){
        $result = mysql_query("SELECT `password` FROM `admin` WHERE `username`='$uname' AND `password`='$upass'");
        
        if(mysql_num_rows($result) == 1)
        {
            $_SESSION['level'] = "$uname";
            $_SESSION['managment'] = "admin";
            header("Location: manage.php");
            exit();
        }}
        
        elseif($_POST['accept'] == 'نویسنده')
        {
                $result2 = mysql_query("SELECT `password` FROM `author` WHERE `username`='$uname'");
        
                if(mysql_num_rows($result2) == 1)
                {
                $_SESSION['managment'] = "hhhh";
                $_SESSION['aaa'] = "itnews";
                $_SESSION['author'] = true;
                $_SESSION['level'] = "$uname";
                header("Location: manage.php");
                exit();
                }
    } header("Location: admin.php?error");
        
        
    }
        


?>[/align]

لطفا راهنمایی کنید ممنون
احمق ترین آدم ها افرادی هستند که دیگران را احمق بشمارند
  پاسخ
تشکر شده توسط :
#5
یکی از کوئری هات (mysql_query) درست نیست !
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#6
(۱۳۹۱ مرداد ۲۴, ۱۱:۴۰ ب.ظ)Reza نوشته: یکی از کوئری هات (mysql_query) درست نیست !
توی لوکال درست کار میکنه
احمق ترین آدم ها افرادی هستند که دیگران را احمق بشمارند
  پاسخ
تشکر شده توسط :
#7
دیتابیسی که ساختی اسمش چی هست ؟ news ؟
به احتمال زیاد اسمش چیزی غیر از این باشه
کد پی‌اچ‌پی:
mysql_select_db("news"); 
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#8
(۱۳۹۱ مرداد ۲۵, ۰۲:۲۰ ق.ظ)Reza نوشته: دیتابیسی که ساختی اسمش چی هست ؟ news ؟
به احتمال زیاد اسمش چیزی غیر از این باشه
کد پی‌اچ‌پی:
mysql_select_db("news"); 

ممنون از راهنماییتون توی تمام صفحات از متغیری استفاده کردم که اسم پایگاه داده بصورت username_news تغییر داده بودم اما این صفحه از دستم در رفته بود بصورت دستی وارد کرده بودم
احمق ترین آدم ها افرادی هستند که دیگران را احمق بشمارند
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان