Foros del Web » Programando para Internet » PHP »

Para qué son las comillas dobles?.

Estas en el tema de Para qué son las comillas dobles?. en el foro de PHP en Foros del Web. Hola, Resulta que tengo este código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original <?php $db = mysql_connect ( 'localhost' , 'bp6am' , 'bp6ampass' ) or die ...
  #1 (permalink)  
Antiguo 27/02/2012, 11:18
Avatar de xFantaSx  
Fecha de Ingreso: agosto-2011
Mensajes: 243
Antigüedad: 12 años, 8 meses
Puntos: 20
Para qué son las comillas dobles?.

Hola,
Resulta que tengo este código:
Código HTML:
Ver original
  1. <?php
  2. $db = mysql_connect('localhost', 'bp6am', 'bp6ampass') or die ('Unable to connect. Check your connection parameters');
  3. mysql_select_db('moviesite', $db) or die (mysql_error($db));
  4. ?>
  5.     <head>
  6.         <title>Commit</title>
  7.     </head>
  8.     <body>
  9.         <?php
  10.         switch ($_GET['action']) {
  11.             case 'add':
  12.                 switch ($_GET['type']) {
  13.                     case 'movie':
  14.                         $query = 'INSERT INTO
  15.                                     movie
  16.                                             (movie_name, movie_year, movie_type, movie_leadactor, movie_director)
  17.                             VALUES
  18.                                     ( " ' . $_POST['movie_name'] . ' ",
  19.                                         ' . $_POST['movie_year'] . ',
  20.                                         ' . $_POST['movie_type'] . ',
  21.                                         ' . $_POST['movie_leadactor'] . ',
  22.                                         ' . $_POST['movie_director'] . ')';
  23.                         break;
  24.                     }
  25.                     break;
  26.                 }
  27.                 if (isset($query)) {
  28.                     $result  = mysql_query($query, $db) or die (mysql_error($db));
  29.                 }
  30.                 ?>
  31.                 <p>Done!</p>
  32.     </body>
  33. </html>
El código anda bien pero no entiendo por qué en la línea 19 se deben poner comillas dobles y comillas sencillas para encerrar la variable.
Si no pongo las dobles aparece un error que dice:
Unknown column 'xxxxx' in 'field list'...
__________________
Aprende cómo ganar dinero en internet...o ganar dinero rapido?
  #2 (permalink)  
Antiguo 27/02/2012, 11:35
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Para qué son las comillas dobles?.

Las comillas sencillas las estás usando para concatenar el string de la consulta y las dobles se usan para MySQL, ya que los valores tipo string deben ir entre comillas. Lo normal es hacerlo al contrario, la consulta en dobles y las comillas sencillas para MySQL. Pero como lo tienes funciona igual.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 27/02/2012, 11:37
Avatar de xFantaSx  
Fecha de Ingreso: agosto-2011
Mensajes: 243
Antigüedad: 12 años, 8 meses
Puntos: 20
Respuesta: Para qué son las comillas dobles?.

:O Muchas gracias!! ya entendi.
__________________
Aprende cómo ganar dinero en internet...o ganar dinero rapido?
  #4 (permalink)  
Antiguo 27/02/2012, 11:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Para qué son las comillas dobles?.

Lee lo siguiente: http://www.forosdelweb.com/f18/como-...1/#post2414268

Básicamente, las comillas dobles interpretan las variables en PHP, y las simples no, ahora cuando trabajas con Bases de Datos debes de armar el Query de forma correcta o usar procedimientos almacenados.

Saludos.

Etiquetas: comillas, html, mysql, son, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:21.