¿Necesita alguna explicación de PHP PDO …!

function get_actor_info( $actor_id ) { global $pdo; $stmt = $pdo->prepare(' SELECT film_info, first_name, last_name FROM actor_info WHERE actor_id = :actor_id LIMIT 1'); $stmt->execute( array( ':actor_id' => $actor_id ) ); return $stmt->fetch( PDO::FETCH_OBJ ); } 

en el ejemplo anterior Por qué MYSQL selecciona WHERE … :actor_id seguido de esto : columna y lo mismo a return $stmt->fetch( PDO::FETCH_OBJ ); ¿Por qué usar doble columna?

La cadena: actor_id no es una variable. Es un marcador de posición para vincular la variable real $ actor_id value a la cadena SQL.

Su cadena $ stmt es una consulta con un marcador de posición.

El valor real de la cláusula where se pasa mediante el método execute () al ejecutarse.

Por qué querrías hacer esto? PDO permite declaraciones preparadas, y su enlace ayuda a abstraer el tener que escapar de la cadena de la variable como lo haría si concatenara el $ actor_id en su cadena de SQL.

Esto ayuda con la reutilización y la seguridad de la consulta.

:colunm_name se usa como marcador de posición, al igual que ? .

La diferencia es con :column_name puede usar una matriz asociativa para enlazar los parámetros.

El doble colon al final es completamente diferente. Es un tipo separado de notación que no está relacionado con el solo punto en la consulta.

Un dos puntos significa que desea acceder a una constante o función que se define en una clase. Si se definiera en un objeto, usaría la notación más familiar -> ; en este caso FETCH_OBJ es una constante dentro de la clase PDO en sí misma, no en ningún objeto PDO específico. Cuando pasa esa constante como un argumento para fetch() , le dice a la función que devuelva una fila en forma de un objeto en lugar de una matriz.

El doble colon se llama operador de resolución de scope . También recibe el nombre de “paamayim nekudotayim”, que en hebreo significa “doble colon” y, probablemente, una de las peores elecciones de convención de nombres en la historia de la informática.

primera pregunta en el ejemplo anterior Por qué MYSQL selecciona DONDE … : actor _id seguido de esto: dos puntos

 $stmt->execute( array( ':actor_id' => $actor_id ) ); 

esta statement está usando algunos como un marcador de posición de llamada variable, al usar: dos puntos puede analizar su variable en sql.

segunda parte..

return $stmt->fetch( PDO::FETCH_OBJ ) ¿Por qué usar double column?

esto es como su definición se dirige al objeto específico en PDO .

Siga este tutorial para aprender los fundamentos de PDO.