1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| <?php
$dsn = "sqlsrv:server=w2\sharepoint;database=ChEMBL_13";
try{
$dbh=new PDO($dsn,'foo','bar');
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}catch(Exception $e){
die( print_r( $e->getMessage() ) );
}
try{
$sth1 = $dbh->prepare("SELECT ID,MOL FROM CHEM");
$dbh->beginTransaction();
$sth1->execute();
$sth1->bindColumn('ID',$id);
$sth1->bindColumn('MOL',$mol,PDO::PARAM_LOB,0, PDO::SQLSRV_ENCODING_BINARY);
$sth2 = $dbh->prepare("UPDATE chem SET img=? where id=?");
while($sth1->fetch(PDO::FETCH_BOUND)){
$in = sprintf("%s.mol", $id);
$png= sprintf("%s.png", $id);
file_put_contents($in,$mol);
$cmd="C:\bingo\indigo-depict.exe $in $png -w 150 -h 150";
system($cmd);
unlink($in);
$fp=fopen($png,"rb");
$sth2->bindParam(1,$fp, PDO::PARAM_LOB,0,PDO::SQLSRV_ENCODING_BINARY );
$sth2->bindParam(2,$id, PDO::PARAM_INT);
$sth2->execute();
fclose($fp);
unlink($png);
}
$dbh->commit();
}catch(Exception $e){
die( print_r( $e->getMessage() ) );
}
?>
|