Question

Je suis en train de faire une chose et une seule chose.

$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>');

maintenant, si je vous écris ...

echo 'CODE = ' . $embedCode;

Je reçois ...

CODE = 

Nothin ...

Pensées?

EDIT:

Ok, donc mon intention est de ne pas imprimer seulement embedCode $, il est pour l'insérer dans une base de données, mais j'obtenir une valeur nulle. Je pensais que je serais un âne intelligent et il est retourné contre mon approche simpliste ici. Quoi qu'il en soit, le point est, il ne passer à travers ma requête MySQL.

EDIT 2: J'utilise wordpress' objet $ 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;

}

et obtenir le résultat:

this is my title<br><br>this is my description<br>
Était-ce utile?

La solution

Vous imprimez votre code html bien. Faites un clic droit et regarder à la source, il devrait être là.

mysql_real_escape_string ne vise pas à échapper html du tout.

Qu'est-ce qui se passe si vous regardez les données réelles dans votre table avec phpmyadmin? Si ce ne est pas là le problème est lorsque vous entrez ces données dans.

Ok, donc vous y échapper en écrivant à la table utilisez-vous quelque chose d'autre à sanytise que les données ^ Comme strip_tags? Strip_tags prendraient tout ce que html sur.

Est-il possible le wpdb_Class est le nettoyage que html sur?

Oui regardant codex.wordpress.org/Function_Reference/wpdb_Class vous pouvez seulement $ wpdb-> query ( « query ») pour exécuter une requête si il suffit d'insérer avec cela. Si cela fonctionne vous fixe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top