MySQL查询中的PHP功能? [英] a php function inside a mysql query?
本文介绍了MySQL查询中的PHP功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个查询
$query = "INSERT INTO $new_db.wp_users (user_login, user_pass, user_nicename)
select user_email, md5(user_password), user_name from $source_db.users";
我有这个功能
function wp_hash_password($password) {
require_once('class-phpass.php');
// By default, use the portable hash from phpass
$wp_hasher = new PasswordHash(8, TRUE);
return $wp_hasher->HashPassword($password);
}
我需要这样的查询
$query = "INSERT INTO $new_db.wp_users (user_login, user_pass, user_nicename)
select user_email, ". wp_hash_password(user_password) .", user_name from $source_db.users";
但是这失败了...任何想法
but this is failing ...any ideas
推荐答案
您有2个选择:
- 在SQL/PL中重写wp_hash_password函数并在查询中使用
- 将结果加载到PHP-修改并使用以下代码将其发送回去:
$results = mysql_query ( "SELECT user_login, user_pass, user_nicename FROM $source_db.users" );
while ($row = mysql_fetch_assoc($results)) {
$sql = "$query = "INSERT INTO $new_db.wp_users (user_login, user_pass, user_nicename) VALUES ( ";
$sql .= $row['user_login'] . ',';
$sql .= wp_hash_password($row['user_password']) . ',';
$sql .= $row['user_nicename;
$sql .= ' ) ';
mysql_query ( $sql );
}
这篇关于MySQL查询中的PHP功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文