Pregunta

Estoy tratando de hacer una cosa y sólo una cosa.

$embedCode = mysql_real_escape_string('<object width="270" height="227"><param name="movie" value="http://www.youtube.com/v/pz-VWi5-tGA?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/pz-VWi5-tGA?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="270" height="227"></embed></object>');

Ahora si escribo ...

echo 'CODE = ' . $embedCode;

consigo ...

CODE = 

Nada ...

Los pensamientos?

EDIT:

Ok, así que mi intención no es simplemente imprimir $ embedCode, es para insertarlo en una base de datos, pero me estoy poniendo un valor nulo. Pensé que sería un culo inteligente y resultó contraproducente con mi enfoque simplista aquí. De todos modos, el punto es, no es conseguir a través de mi consulta MySQL.

EDIT 2: Estoy usando wordpress' $ objeto wpdb

function insert_video(){

    global $wpdb;
    $wpdb->show_errors();
    $table_name = $wpdb->prefix . "video_manager"; 

    $embedCode = mysql_real_escape_string('<object width="270" height="227"><param name="movie" value="http://www.youtube.com/v/pz-VWi5-tGA?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/pz-VWi5-tGA?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="270" height="227"></embed></object>');
    $title  = 'this is my title'; 
    $description = 'this is my description';

    $wpdb->insert( $table_name, array( 'title' => mysql_real_escape_string($title), 'embed_code' => $embedCode, 'description' => mysql_real_escape_string($description) ) );

}

function get_video_block($id){
    insert_video();
    global $wpdb;
    $wpdb->show_errors();
    $table_name = $wpdb->prefix . "video_manager";
    $query = "SELECT * FROM " . $table_name . " WHERE `index` = '$id'"; 
    $results = $wpdb->get_results($query, ARRAY_A);


    $results = $results[0];

    $returnString = $results['title'] . '<br>';
    $returnString .= $results['embed_code'] . '<br>';
    $returnString .= $results['description'] . '<br>';

    return $returnString;

}

y conseguir el resultado:

this is my title<br><br>this is my description<br>
¿Fue útil?

Solución

Está imprimiendo su html bien. Haz clic derecho y vistazo a la fuente que deberían estar allí.

mysql_real_escape_string no pretende escapar html en absoluto.

¿Qué pasa si nos fijamos en los datos reales de la tabla con phpmyadmin? Si no es allí, entonces el problema es que cuando la entrada de los datos en.

La autorización así a escapar que al escribir a la mesa está usando algo más para que los datos sanytise ^ strip_tags igual? Strip_tags llevarían a cabo todo lo que html.

¿Es posible la wpdb_Class es la limpieza que html a cabo?

Sí mirando codex.wordpress.org/Function_Reference/wpdb_Class puede sólo $ wpdb-> query ( 'consulta') para ejecutar cualquier consulta de modo basta con insertar con eso. Si funciona que está fijo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top