PHP: farklı tırnak?

3 Cevap php

Tırnak arasındaki fark nedir "ve '? Hakkında ne`? Bir hata farklı tırnak kullanarak var mı' ve "aşağıda?

 $result = pg_query_params($dbconn,
      'INSERT INTO users 
      (username, email, passhash_md5)
      VALUES ($1, $2, $3)',
          array($username, $email, $passhash_md5
      )


      $result = pg_query_params( $dbconn,
          "SELECT user_id
           FROM users
          WHERE email = $1",
          array( $email )
          )

3 Cevap

(') Tek tırnak kullanırken değişken ikamesi bunları yerine bir işleve geçti düzenli bir dize değil, eğer ilk örnekte değerleri tam anlamıyla $ 1 $ 2, vs olurdu yani, bitmiş değil.

Eğer değişken substitiution ihtiyacınız yoksa, bu performans nedenlerle tek tırnak sopa ile daha iyi.

`` Kabuk-motor çağırır ve gerçek bir komut olarak çağırır ve sadece perl gibi, sonucu dönen. Dolayısıyla, bu tamamen farklı bir anlamı vardır.

örnekler:

$email = 'user@example.org';
$sql1 = "SELECT user_id FROM users WHERE email = $email";
$sql2 = 'SELECT user_id FROM users WHERE email = $email';

$ SQL1 email = user@example.org kullanıcıların SELECT User_id olurdu

$ SQL2 email = $ email kullanıcıları SELECT User_id olurdu

Tek ve çift tırnaklı dizge arasındaki fark iyi PHP manual about Strings açıklanmıştır.

Böyle pg_query_params özgü bir şey demek ki $1 olarak ve ikame değişkenleri kullanarak beri örnekte, not, PHP değişken isimleri olarak yorumlamak istiyorum Eğer SQL sorgu dizeleri için tek tırnak kullanmanız gerekir.

Temel olarak, " bunu gibi değişkenleri embed sağlar:

<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // works; "'" is an invalid character for variable names
echo "He drank some $beers";   // won't work; 's' is a valid character for variable names but the variable is "$beer"
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works
?>

(Gönderen php manual)

' değişkenler için hiçbir denetimi yapılır anlamına gelir kullanma.

<?php
echo '$beer';
?>

Would çıkış $beer.