لماذا لا يمكن استخدام دوال mysql_* القديمة في PHP وما البديل عنها؟
مرحباً بالجميع! أنا مطور PHP مبتدئ، أتعلم من كتب قديمة وفيديوهات على YouTube. في جميع الأمثلة، يتم الاتصال بقاعدة بيانات MySQL عبر دوال مثل mysql_connect() و mysql_query() إلخ. كل شيء يعمل لدي، لكني لاحظت أن هذه الدوال لا تُستخدم في الدروس الحديثة. بل أكثر من ذلك، PhpStorm يضع تحتها خطاً أحمر ويكتب "Deprecated".
إليك كيف أكتب الكود حالياً:
```php
$link = mysql_connect('localhost', 'root', '');
mysql_select_db('myblog', $link);
$result = mysql_query("SELECT * FROM users WHERE id = " . $_GET['id']);
while ($row = mysql_fetch_assoc($result)) {
echo $row['name'];
}
```
يبدو أن كل شيء يعمل، لكني سمعت أن هذا خطير. هل يمكنكم شرح بكلمات بسيطة: لماذا mysql_* شريرة؟ وماذا نستخدم بدلاً منها؟ أحتاج ليس فقط كلمات "إنها قديمة"، بل أسباباً محددة. وأيضاً - كيف أعيد كتابة كودي ليكون حديثاً وآمناً؟
شكراً مسبقاً على الإجابة المفصلة!
<<>>