وقتی کوئری انجام می شه و سطرها انتخاب می شن، اطلاعات بازیابی شده تا زمان بسته شدن اتصال کجا نگه داری می شن؟
آیا توابعی مثل num_rows و fetch_assic و... توی دیتابیس اجرا می شن یا نه؟
لطفا در این مورد توضیح بدید.
وقتی کوئری انجام می شه و سطرها انتخاب می شن، اطلاعات بازیابی شده تا زمان بسته شدن اتصال کجا نگه داری می شن؟
آیا توابعی مثل num_rows و fetch_assic و... توی دیتابیس اجرا می شن یا نه؟
لطفا در این مورد توضیح بدید.
محل ذخیره اطلاعات موفق وابسته به دیتابیس هست. مثلاً اگه نوع موتور رو MEMORY بگذارین، توی RAM انجام میشه ولی در سایر موتورها، یک جدول موقت درست میشه و اونجا کارها انجام میشه. دستورات mysql_fetch_assoc و... هم همونجا اجرا میشن. در پایان هم میتونید با mysql_free_result هم میتونید اطلاعات موقت رو حذف کنید (البته اختیاریه و با پایان یافتن اسکریپت، بطور خودکار انجام میشه).
آيا اين راهي براي نا امن كردن محسوب ميشه اگه يه وقت زمان اسكريپت بيشتر طول بكشه؟ هكر ميتونه بهش دسترسي داشته باشه؟
وقتی شما گزارشگیری میکنید اطلاعات بدست اومده در یک شبه تیبل قرار میگیره که توسط دستورات زبان برنامه نویسی سمت سرور قابل دسترسی هستش
پس این خودش به تنهایی خطر امنیتی محسوب نمیشه مگه اینکه هکرها توسط حفره های موجود در اسکریپت مورد استفاده به اون دیتا دست پیدا کنن
که این باید توسط برنامه نویس مدیریت و حفره ای امنیتی از بین برن
چرا این نوع اطلاعات رو توی رم ذخیره می کنه و بقیه جدول موقت می سازن؟مثلاً اگه نوع موتور رو MEMORY بگذارین، توی RAM انجام میشه
تعداد این جدولها محدودیت دارن یا نه؟در سایر موتورها، یک جدول موقت درست میشه
منظورتون از دستورات زبان برنامه نویسی چیه؟ منظور همون پی اچ پی هست یا زبان دیگه ی منظورتونه؟وقتی شما گزارشگیری میکنید اطلاعات بدست اومده در یک شبه تیبل قرار میگیره که توسط دستورات زبان برنامه نویسی سمت سرور قابل دسترسی هستش
برای سرعت بیشتر. به مثال زیر دقت کنید:
CREATE TABLE test ENGINE=MEMORY
SELECT ip,SUM(downloads) AS down
FROM log_table GROUP BY ip;
SELECT COUNT(ip),AVG(down) FROM test;
DROP TABLE test;
توی مثال فوق، برای انجام کارهای موقت یک جدول موقتی توی RAM ایجاد شده و بعد از اینکه کارمون تموم شد، اون رو DROP میکنیم. منبع
تا جایی که بررسی کردم، نه. هرچقدر فضای هاست و RAM سرور بهتون اجازه بده میتونید ایجاد کنید.تعداد این جدولها محدودیت دارن یا نه؟
همون PHP منظورشون هست. کلاً نباید راه نفوذی برای SQL Injection و... باز بگذارین و اگه از این نظر اسکریپتتون امن باشه، نمیشه از این راه نفوذ کرد.منظورتون از دستورات زبان برنامه نویسی چیه؟ منظور همون پی اچ پی هست یا زبان دیگه ی منظورتونه؟
موفق باشید.