Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Multi connect to a single database with different charset(s) via PHP

Posted on 2007-04-02
2
Medium Priority
?
339 Views
Last Modified: 2013-12-12
I tried to multi connect to a Mysql database with two different charset via PHP. but it seems it's not possible. because when i set charset of the second connection it will override charset of first connection!

#--(Begin)-->connecting to DB
$sourceDbInfo['link']=mysql_connect($sourceDbInfo['host'], $sourceDbInfo['username'], $sourceDbInfo['password']);
mysql_select_db($sourceDbInfo['name'],$sourceDbInfo['link']);
if ($sourceDbInfo['encoding']=='utf8') {
      mysql_query("SET NAMES utf8",$sourceDbInfo['link']);
      mysql_query("SET CHARACTER SET utf8",$sourceDbInfo['link']);
}

$destinationDbInfo['link']=mysql_connect($destinationDbInfo['host'], $destinationDbInfo['username'], $destinationDbInfo['password']);
mysql_select_db($destinationDbInfo['name'],$destinationDbInfo['link']);
if ($destinationDbInfo['encoding']=='utf8') {
      mysql_query("SET NAMES utf8", $destinationDbInfo['link']);
      mysql_query("SET CHARACTER SET utf8", $destinationDbInfo['link']);
}
#--(End)-->connecting to DB
0
Comment
Question by:Claudia_Presto
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 24

Expert Comment

by:glcummins
ID: 18843055
This is correct: Only one character set is available to a single user at a time. You have two options:

1. Close the first connection before opening the second with the new charset.
2. Use different login information (username and password). MySQL will then think you are a different user, and *should* allow the use of a different charset.
0
 
LVL 48

Accepted Solution

by:
hernst42 earned 1500 total points
ID: 18843590
use (set the fourth paramter of mysql_connect to true to create a new link, even if the same host, user and password is used):
http://de3.php.net/mysql_connect
#--(Begin)-->connecting to DB
$sourceDbInfo['link']=mysql_connect($sourceDbInfo['host'], $sourceDbInfo['username'], $sourceDbInfo['password'],true);
mysql_select_db($sourceDbInfo['name'],$sourceDbInfo['link']);
if ($sourceDbInfo['encoding']=='utf8') {
      mysql_query("SET NAMES utf8",$sourceDbInfo['link']);
      mysql_query("SET CHARACTER SET utf8",$sourceDbInfo['link']);
}

$destinationDbInfo['link']=mysql_connect($destinationDbInfo['host'], $destinationDbInfo['username'], $destinationDbInfo['password'], true);
mysql_select_db($destinationDbInfo['name'],$destinationDbInfo['link']);
if ($destinationDbInfo['encoding']=='utf8') {
      mysql_query("SET NAMES utf8", $destinationDbInfo['link']);
      mysql_query("SET CHARACTER SET utf8", $destinationDbInfo['link']);
}
#--(End)-->connecting to DB
Authored by: Claudia_Presto
0

Featured Post

RHCE - Red Hat OpenStack Prep Course

This course will provide in-depth training so that students who currently hold the EX200 & EX210 certifications can sit for the EX310 exam. Students will learn how to deploy & manage a full Red Hat environment with Ceph block storage, & integrate Ceph into other OpenStack service

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses how to implement server side field validation and display customized error messages to the client.
Containers like Docker and Rocket are getting more popular every day. In my conversations with customers, they consistently ask what containers are and how they can use them in their environment. If you’re as curious as most people, read on. . .
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question