متى تستخدم علامات الاقتباس المفردة والمزدوجة والعكسية في MySQL/PHP؟
مرحبًا بالجميع! لقد بدأت للتو في تعلم PHP وMySQL، وأواجه دائمًا ارتباكًا مع علامات الاقتباس. يبدو أن هناك علامات اقتباس مفردة (') ومزدوجة (") وعكسية (`). لا أفهم متى أستخدم أيًا منها، وأتلقى أخطاء باستمرار.
على سبيل المثال، هذا هو الكود الخاص بي:
```php
$name = "Иван";
$query = "SELECT * FROM users WHERE name = '$name'";
```
هذا يعمل. لكن إذا كتبت هكذا:
```php
$query = 'SELECT * FROM users WHERE name = "$name"';
```
فإن المتغير لا يتم استبداله. وإذا استخدمت علامات الاقتباس العكسية:
```php
$query = "SELECT * FROM `users` WHERE `name` = 'Иван'";
```
هذا أيضًا يعمل، لكنني لا أفهم لماذا هي ضرورية.
أيضًا، رأيت البعض يستخدمون علامات الاقتباس المزدوجة لأسماء الجداول والأعمدة:
```php
$query = "SELECT * FROM \"users\" WHERE \"name\" = 'Иван'";
```
هل هذا قانوني أصلاً؟ وماذا أفعل إذا كان اسم الجدول يحتوي على شرطة أو كلمة محجوزة، مثل ORDER؟ لقد واجهت خطأ مع جدول كهذا.
من فضلك، اشرح بكلمات بسيطة.