> Well, show us a part of your code. Do var_dump($value) before you
> enter it into the database, and see if it still says 0x9f54.

The error:

string(2) ""
Duplicate entry '' for key 1

-- 
  .~.   Might, Courage, Vision, SINCERITY. http://www.linux-sxs.org
 / v \  Simplicity is Beauty! May the Force and Farce be with you!
/( _ )\ (Ubuntu 6.10)  Linux 2.6.20.6
  ^ ^   19:14:01 up 3 days 2:05 1 user load average: 2.24 1.42 1.14
news://news.3home.net news://news.hkpcug.org news://news.newsgroup.com.hk
<?
class MYSQL {
        private $fhandle;
        var $row;
        function MYSQL($host,$db,$usr,$pwd) {
                $this->fhandle=new mysqli($host,$usr,$pwd,$db)
                        or die(mysqli_error($this->fhandle));
                $this->query("set names 'big5'");
        }
        function query($sql_str) {
                $this->row=mysqli_query($this->fhandle, $sql_str) or 
die(mysqli_error($this->fhandle));
        }
        function affected_rows() {
                return mysqli_affected_rows($this->row);
        }
        function num_rows() {
                return mysqli_num_rows($this->row);
        }
        function fetch_assoc() {
                return mysqli_fetch_assoc($this->row);
        }
        function __destruct() {
                mysqli_close($this->fhandle);
        }
        function begin_tran() {
                mysqli_autocommit($this->fhandle, FALSE);
        }
        function commit() {
                mysqli_commit($this->fhandle);
                mysqli_autocommit($this->fhandle, TRUE);
        }
        function rollback() {
                mysqli_rollback($this->fhandle);
                mysqli_autocommit($this->fhandle, TRUE);
        }
}

function showcode($cChar) {
        return 
"[".dechex(ord(substr($cChar,0,1))).".".dechex(ord(substr($cChar,1,1)))."]";
}


$target=new MYSQL("localhost","testing","root","testing");

$fhandle=dbase_open("/home/bt/canton.DBF",0);
if ($fhandle) {
        $reccount=dbase_numrecords($fhandle);
        echo "input count: ".$reccount."\n";
        $target->query("show tables like 'canton';");
        if ($target->num_rows()>0)
                $target->query("drop table canton");
        $target->query(
                "create table canton ("
                . " big5 char(2) not null,"
                . " thekey char(6),"
                . " canton char(10),"
                . " changjei char(10),"
                . " touched integer,"
                . " primary key (big5)"
                . " ) character set big5;"
        );
        for ($ii=1; $ii<=$reccount; $ii++) {
                $row=dbase_get_record_with_names($fhandle,$ii);
                $ss=$row['BIG5'];
                echo var_dump($ss);
                $target->query("select * from canton where big5='".$ss."'");
                $yy = $target->num_rows();
                if ($yy>0) {
                        $query="update canton set touched="
                                . $row["TOUCHED"]
                                . " where big5='" . $ss . "';";
                }
                else {
                        $query="insert into canton ("
                                . " big5,"
                                . " thekey,"
                                . " changjei,"
                                . " canton,"
                                . " touched "
                                . ") values ("
                                . "'$ss',"
                                . "'".$row["THEKEY"]."',"
                                . "'".$row["CHANGJEI"]."',"
                                . "'".$row["CANTON"]."',"
                                . $row["TOUCHED"]
                                . ");";
                }
                $result=$target->query($query);
                if (! $target->row)
                        echo showcode($ss);
        }
        $result=$target->query("select count(*) as cnt from canton");
        $yy = $target->fetch_assoc();
        echo "output count: ".$yy['cnt']."\n";
        dbase_close($fhandle);
}
?>
-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to