Re: [PHP-DB] Closing curly brackets?
a good tutorial for code formating is c and c++ style guides ( http://www.cs.umd.edu/users/cml/cstyle/ ) a good code editor is vim (http://www.vim.org). Jennifer Downey a écrit : Thank you Paul, I have asked about atutorial on proper code formatting and got back a tutorial that was extremely hard to understand. While lots of people have screamed at me for my coding format no one has supplied an understandable answer. That is until this morning. The first thing you should do is properly indent your code. If you do so, you'll be sure to find the missing bracket. Basically, for each new block, tab out again. Thought that was the best tutorial I could ever get. Short and sweet and oh so easy to understand. I am using HTML_Kit as it has the same features as all the othere editors (color coding and such) but it also has a lot more. I can get plugins for anything I would ever need. Except a formatting tutorial ;) Thank for your help Jennifer Paul Burney [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... on 4/12/02 11:15 PM, Jennifer Downey at [EMAIL PROTECTED] appended the following bits to my mbox: I believe it has something to do with the first while statement's closing curly bracket placement but I can't seem to get it in the right place. Hi Jennifer, The first thing you should do is properly indent your code. If you do so, you'll be sure to find the missing bracket. Basically, for each new block, tab out again. It really helps to use a programmer's editor with syntax highlighting like vim or BBEdit. Here's an example using your code: === $id = $HTTP_GET_VARS[id]; $query = SELECT id, name, image, quantity, type FROM {$config[prefix]}_my_items WHERE uid={$session[uid]} ORDER BY id; $ret = mysql_query($query); while($row = mysql_fetch_array($ret)) { $iid = $row['id']; $image = $row['image']; $name = $row['name']; $quantity = $row['quantity']; $type = $row['type']; if ($iid == $id) { $display_block =CENTERimg src=$image border=0brfont size=2$nameBR$quantityBR$type/font/CENTER; echo $display_blockBRBR; if ($type == food) { //if book or weapon is present then set an option and include in the form later $thisoption=OPTION VALUE=\feed\Feed my pet\n/OPTION; } else { //if any other type is present then set a blank $thisoption=;} } // end option if statement } // end id if statement /* More code after this point */ } // end while if statement. === Hope that helps. Sincerely, Paul Burney http://paulburney.com/ ?php while ($self != asleep) { $sheep_count++; } ? --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.344 / Virus Database: 191 - Release Date: 4/2/2002 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Marius Ursache (3563 || 3494) \|/ \|/ @'/ ,. \`@ /_| \__/ |_\ \__U_/ -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Delete from mysql table is there a way to....
your posts are here. i don't think you could do this in other way. if is possible i'm curios about it too. Jennifer Downey a écrit : Hi all, I'm not sure if my first post showed up so I am going to post it again and I apologize if it shows up twice. Is there a way to delete a record from a mysql table without fragmenting the db? Here is the query I am using and it does a horrible job. Fragment city. if ($quantity == 0) { $gone = mysql_query(DELETE FROM {$config[prefix]}_my_items WHERE uid={$session[uid]} AND id = '$item'); } Thanks Jennifer -- The sleeper has awaken --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.344 / Virus Database: 191 - Release Date: 4/2/2002 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Marius Ursache (3563 || 3494) \|/ \|/ '/ ,. \` /_| \__/ |_\ \__U_/ -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Extracting the essence!
How about: $test= preg_replace ($search, $replace, $dokument); while (list ($key, $val) = each($test)) { if ($key == 0 || $key == 3) { //do nothing } else { echo $key = $val; } } Let me know if this works. -Lisi At 11:24 PM 4/14/02 +0200, #Linux wrote: Tanks so far, but if I want don't want to display the 1st and 4th line. - Original Message - From: Lisi [EMAIL PROTECTED] To: #Linux [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Sunday, April 14, 2002 10:55 PM Subject: Re: [PHP-DB] Extracting the essence! Try something like the following to extract the contents of the array by looping through it: $test= preg_replace ($search, $replace, $dokument); while (list ($key, $val) = each($test)) { echo $key = $val; } HTH -Lisi -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Re: LOBS with CURSOR_SHARING=FORCE gives core dump
According to Thies, this is an Oracle bug. A quick workaround which I just tested is to execute an alter session before updating the LOB, and restore cursor_sharing=force after the update. ALTER SESSION SET cursor_sharing=exact Bye, John Prince [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... John! Thanks for the update. Did you find any work-around for this issue? Thanks, Prince. John Lim [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... Hmm, I have also been having similar problems with LOBs. However it might not be cursor_sharing=force, because on my Win 2000 oracle, LOBs work fine with PHP with this parameter set. However on our Sun server, PHP crashes as you mention (yes cursor_sharing=force is set here too). PS: this is set in init.ora. Prince [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... I have the following php code. If I add the parameter CURSOR_SHARING=FORCE in my init.ora and while executing the program I get the Segmentation fault. $ /usr/local/php4/bin/php -q curshare.php Segmentation fault (core dumped) Is there any work-around for this? Is this a bug? This seems to be happening only when LOB with returning clause is present. I tested a similar program from C program and is fine. Note: currently I have set the parameter (CURSOR_SHARING=FORCE ) only in the program/session level. Thanks, Prince. $ cat curshare.php #!/usr/local/php4/bin/php -q ? //program name curshare.php $conn = OCILogon($dbuser, $dbpass, $dbname); //This is added to affect only the current session. $sql = alter session set cursor_sharing=force; $stmt = ociparse($conn,$sql); OCIExecute($stmt,OCI_DEFAULT); $lob = OCINewDescriptor($conn, OCI_D_LOB); $sqlstmt = insert into blob_test ( packageid, packagebody ) values('12344321123efd', EMPTY_BLOB()) returning packagebody into :packagebody; $stmt = OCIParse($conn, $sqlstmt) ; OCIBindByName($stmt, ':packagebody', $lob, -1, OCI_B_BLOB); OCIExecute($stmt, OCI_DEFAULT); OCICommit($conn); OCIFreeDesc($lob); OCIFreeStatement($stmt); OCILogoff($conn); ? -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Re: Delete from mysql table is there a way to....
I'm not sure how to change DELETE statements in this fashion, but is there a way maybe to run an OPTIMIZE TABLE query every so often in your PHP script.. I don't imagine you'd want it running too often since it locks the table you run it on, but maybe on the reload of $PHP_SELF or something.. It can take a while to run on tables with lots of data, so it may not be the best option anyway.. Just a thought though.. Ooh, maybe a PHP script run from a cron job every couple hours or something even?? Later, Bob Weaver Jennifer Downey [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... Hi all, I'm not sure if my first post showed up so I am going to post it again and I apologize if it shows up twice. Is there a way to delete a record from a mysql table without fragmenting the db? Here is the query I am using and it does a horrible job. Fragment city. if ($quantity == 0) { $gone = mysql_query(DELETE FROM {$config[prefix]}_my_items WHERE uid={$session[uid]} AND id = '$item'); } Thanks Jennifer -- The sleeper has awaken --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.344 / Virus Database: 191 - Release Date: 4/2/2002 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Delete from mysql table is there a way to....
On Monday 15 April 2002 08:46, Jennifer Downey wrote: Hi all, I'm not sure if my first post showed up so I am going to post it again and I apologize if it shows up twice. The first post did show up. This is purely a MySQL issue. Is there a way to delete a record from a mysql table without fragmenting the db? No. If you do a lot of deletes then you can optimize the table now and again to ensure maximum performance. See MySQL for details. -- Jason Wong - Gremlins Associates - www.gremlins.com.hk Open Source Software Systems Integrators * Web Design Hosting * Internet Intranet Applications Development * /* There is only one way to kill capitalism -- by taxes, taxes, and more taxes. -- Karl Marx */ -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Re: Delete from mysql table is there a way to....
Maybe if you ran the delete query, then the optimize table query immed after, it wouldn't take such a long time.. I would imagine if you had quite large tables though, it could still take some time.. And if users are connecting over the internet, you don't want too may delays.. If the user doesn't need any specific feedback about the delete command, you could do a low priority delete.. That's sketchy at best though from what I could gather in the manual and around. It just queues the query until the database is done with everything but it sounds like it might release the user/client to go on with what they're doing.. You might also check into truncate.. The mysql manual talks about it briefly.. I guess it's an Oracle thing that mysql supports.. It sounds like it would keep things clean but sounds slow possibly.. Later, Bob Jennifer Downey [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... Hi all, I'm not sure if my first post showed up so I am going to post it again and I apologize if it shows up twice. Is there a way to delete a record from a mysql table without fragmenting the db? Here is the query I am using and it does a horrible job. Fragment city. if ($quantity == 0) { $gone = mysql_query(DELETE FROM {$config[prefix]}_my_items WHERE uid={$session[uid]} AND id = '$item'); } Thanks Jennifer -- The sleeper has awaken --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.344 / Virus Database: 191 - Release Date: 4/2/2002 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Insert select does not insert all rows.
the statement is executed directly on the server without php just mysql any other ideas? thanx, Andy insert into geodata_backup.provinces_test (country_code,province,province_id) select country_code, name, province_id from import.provinces_update_imported Olinux [EMAIL PROTECTED] schrieb im Newsbeitrag [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... The script is probably timimg out. Default timeout is 30 seconds. Stick this in your script set_time_limit(0); set_time_limit() has no effect when PHP is running in safe mode http://www.php.net/manual/en/function.set-time-limit.php olinux --- andy [EMAIL PROTECTED] wrote: Hi there, I am trying to update a table with new rows. The new rows are in another table so thought a insert select would be the right choice. Unfortunatelly it is only inserting about 400 rows, but the table contains more than 700. So I do really not know whats going on. Maybe someone could help on this. Thanx in advance. Andy Statement: insert into geodata_backup.provinces_test (country_code,province,province_id) select country_code, name, province_id from import.provinces_update_imported -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php __ Do You Yahoo!? Yahoo! Tax Center - online filing with TurboTax http://taxes.yahoo.com/ -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Cross DB application
Hello ! I'm planning to write a database application for MySQL, and then port it to PostrgeSQL. Is there any library or class that could help me to write/maintain just one source code for both MySQL and PostgreSQL ? Thanks. ARcadius -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] newsletter
hi guys, i wanna make a news letter as follows: i sell items within certain categories,so whenever a buyer is registered he choose some categories to contribute to my newsletter with: whenever a new item is added within this category i send him an email with that. i'm storing the mails in database. does anyone have something like this that can help me?? i tried in my script that whenever an item is added i send aletter to all who is subscribed under this category,but i need to know the ID of this item that is added first,so i faild to do that Rehab M.Shouman - Express yourself with a super cool email address from BigMailBox.com. Hundreds of choices. It's free! http://www.bigmailbox.com - -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Cross DB application
ARcadius, You may use an abstraction library such as PEARDB or ADODB, or simply the unified ODBC functions. Best regards, Andrew Hill Director of Technology Evangelism OpenLink Software Hello ! I'm planning to write a database application for MySQL, and then port it to PostrgeSQL. Is there any library or class that could help me to write/maintain just one source code for both MySQL and PostgreSQL ? Thanks. ARcadius -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Insert select does not insert all rows.
I'm curious, if this is not using php, why are you posting to the php-db mailing list? Why not post to the mysql mailing list? Just a thought. andy [EMAIL PROTECTED] said: the statement is executed directly on the server without php just mysql any other ideas? thanx, Andy insert into geodata_backup.provinces_test (country_code,province,province_id) select country_code, name, province_id from import.provinces_update_imported Olinux [EMAIL PROTECTED] schrieb im Newsbeitrag [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... The script is probably timimg out. Default timeout is 30 seconds. Stick this in your script set_time_limit(0); set_time_limit() has no effect when PHP is running in safe mode http://www.php.net/manual/en/function.set-time-limit.php olinux --- andy [EMAIL PROTECTED] wrote: Hi there, I am trying to update a table with new rows. The new rows are in another table so thought a insert select would be the right choice. Unfortunatelly it is only inserting about 400 rows, but the table contains more than 700. So I do really not know whats going on. Maybe someone could help on this. Thanx in advance. Andy Statement: insert into geodata_backup.provinces_test (country_code,province,province_id) select country_code, name, province_id from import.provinces_update_imported -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php __ Do You Yahoo!? Yahoo! Tax Center - online filing with TurboTax http://taxes.yahoo.com/ -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DB] Cross DB application
Hi Arcadius, If you know Object-oriented programming , you can write a class that includes both MySQL and PostGreSQL functions and you can inherit from that class. Or, you can just stick all mysql, postgresql functions in a functions.php file and include that file to be able to use the functions. I guess it would work best if you have a configuration file where the user chooses either DB and your code uses the corresponding function for that database. I am sure there are database wrapper classes for php to address your issue somewhere on the net , I just don't know where, since i have never searched for it. I will personally email you if i come across any ... Gurhan -Original Message- From: Arcadius A. [mailto:[EMAIL PROTECTED]] Sent: Monday, April 15, 2002 7:56 AM To: [EMAIL PROTECTED] Subject: [PHP-DB] Cross DB application Hello ! I'm planning to write a database application for MySQL, and then port it to PostrgeSQL. Is there any library or class that could help me to write/maintain just one source code for both MySQL and PostgreSQL ? Thanks. ARcadius -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Pdf display from Blob
We are using Interbase 6.01 as SQL-Server and PHP4. The Interbase table was created an populated with a Delphi - Programm. Everything is working. Our problem is now to display the PDF Content out of Blobs. Text - Blobs are working with ibase_blob_echo() Outputting PDF-Blobs without MIME-Header is a garbled Text With MIME - Header header(application/pdf) the Acrobat-Reader 5.0 starts but shows the errormessage that this is not a PDF-File. As this is not an Interbase-Problem, I would appreciate any working solution for any database. Best regards Helmut -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Re: Saving DB Resuts to a file
Chris, You will want to use the file i/o functions to write to a file and save the db info to a file. http://www.php.net/manual/en/function.fwrite.php Ray BigDog Hunter Chris Payne [EMAIL PROTECTED] wrote in message 000c01c1e258$f33f5ce0$f7fea8c0@chris">news:000c01c1e258$f33f5ce0$f7fea8c0@chris... Hi there everyone, I have a newsletter which works wonderfully, sends to everyone in the DB fine with error checking etc .. My problem is my client now wants to be able to easily save the email addresses from the DB into a text file - so my question is, how can this be done? Connecting to the DB and executing a search based on criteria is not a problem, the problem is how do I write a text file which has the field email (From the table name newsletter) in it? I just need to copy the contents of email to a text file, but missing our other columns such as id and name. Thanks for any help, it's very appreicated. Chris -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Arrays
I am trying to insert event dats into a database and to make sure the user puts the date in the correct format. I am now trying to collect the information from the three fields and insert it into one field. code as follows: $eventdate = array (eventyear, eventmonth, eventday); when I insert it into the database like: $query = INSERT INTO $tablename4 VALUES ('0', '$entername', '$date', '$eventdate', '$eventheading', '$eventbody' ); for the $eventdate variable the word array is inserted. Could someone please tell me where I am going wrong. -- Alex Francis Cameron Design 35, Drumillan Hill Greenock PA16 0XD Tel 01475 798106 [EMAIL PROTECTED] http://www.camerondesign.co.uk This message is sent in confidence for the addressee only. It may contain legally privileged information. Unauthorised recipients are requested to preserve this confidentiality and to advise the sender immediately of any error in transmission. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Arrays
Your $eventdate variable is an array, not a string so you can't just drop it into an sql query string like that. If you have separate fields in the db for year, month and day then you probably want something like: $query = insert into ... values ( ... , '$eventdate[0]', '$eventdate[1]', '$eventdate[2]', ...); Otherwise, if they're all supposed to go into the same field then do something like: $eventdatestring = join(-, $eventdate); $query = insert into ... values ( ..., '$eventdatestring', ...); This should insert the date in the form eventyear-eventmonth-eventday; -Steve On Monday, April 15, 2002, at 03:13 PM, Alex Francis wrote: I am trying to insert event dats into a database and to make sure the user puts the date in the correct format. I am now trying to collect the information from the three fields and insert it into one field. code as follows: $eventdate = array (eventyear, eventmonth, eventday); when I insert it into the database like: $query = INSERT INTO $tablename4 VALUES ('0', '$entername', '$date', '$eventdate', '$eventheading', '$eventbody' ); for the $eventdate variable the word array is inserted. Could someone please tell me where I am going wrong. -- Alex Francis Cameron Design 35, Drumillan Hill Greenock PA16 0XD Tel 01475 798106 [EMAIL PROTECTED] http://www.camerondesign.co.uk This message is sent in confidence for the addressee only. It may contain legally privileged information. Unauthorised recipients are requested to preserve this confidentiality and to advise the sender immediately of any error in transmission. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] database table layout help
I am setting up a music info site and have decided on the follow tables ( not to sure weather to add the mp3 part). The one main question I have before starting to make the tables is weather mysql_insert_id() would be able to handle this with the way I have it ? :Artist id artist_name :Album id - auto-inc artist_id album_name rec_id image_id :Songs id - auto-inc album_id genre_id mp3_id lyrics :Genre id - auto-inc genre :Recording id - auto-inc recording_studio date :Album Image id - auto-inc image :Artist Info id - auto-inc info :Mp3 id - auto-inc mp3_location Any other suggestions are welcome. B.J.Rumsey -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Arrays
Got it now, Thank you -- Alex Francis Cameron Design 35, Drumillan Hill Greenock PA16 0XD Tel 01475 798106 [EMAIL PROTECTED] http://www.camerondesign.co.uk This message is sent in confidence for the addressee only. It may contain legally privileged information. Unauthorised recipients are requested to preserve this confidentiality and to advise the sender immediately of any error in transmission. Steve Cayford [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... Your $eventdate variable is an array, not a string so you can't just drop it into an sql query string like that. If you have separate fields in the db for year, month and day then you probably want something like: $query = insert into ... values ( ... , '$eventdate[0]', '$eventdate[1]', '$eventdate[2]', ...); Otherwise, if they're all supposed to go into the same field then do something like: $eventdatestring = join(-, $eventdate); $query = insert into ... values ( ..., '$eventdatestring', ...); This should insert the date in the form eventyear-eventmonth-eventday; -Steve On Monday, April 15, 2002, at 03:13 PM, Alex Francis wrote: I am trying to insert event dats into a database and to make sure the user puts the date in the correct format. I am now trying to collect the information from the three fields and insert it into one field. code as follows: $eventdate = array (eventyear, eventmonth, eventday); when I insert it into the database like: $query = INSERT INTO $tablename4 VALUES ('0', '$entername', '$date', '$eventdate', '$eventheading', '$eventbody' ); for the $eventdate variable the word array is inserted. Could someone please tell me where I am going wrong. -- Alex Francis Cameron Design 35, Drumillan Hill Greenock PA16 0XD Tel 01475 798106 [EMAIL PROTECTED] http://www.camerondesign.co.uk This message is sent in confidence for the addressee only. It may contain legally privileged information. Unauthorised recipients are requested to preserve this confidentiality and to advise the sender immediately of any error in transmission. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Re: Cross DB application
Hello, Arcadius A. wrote: Hello ! I'm planning to write a database application for MySQL, and then port it to PostrgeSQL. Is there any library or class that could help me to write/maintain just one source code for both MySQL and PostgreSQL ? I think your best (if not the only) option in PHP is Metabase. http://www.phpclasses.org/metabase This is a PHP databases abstraction focused on application portability. AFAIK, it is the only one that provide complete and true data type abstraction. This means that for instance if you have to deal with dates in your application, Metabase assures that you only have to deal with a single date format (ISO 9601 - -MM-DD HH:MM:SS) even if the underlying databases use other formats. So, when you switch to a different database, you do not have to touch a single thing in your application other that the choice of database type option. Metabase goes farther, it also abstracts database schema installation and maintenance. This means that it provides a way to describe a schema of database tables, fields, indexes and sequences using a simple XML syntax. Then the Metabase manager class will install it for you in the target database that you use. If you move to another database, Metabase can export the database contents in the same XML format and then you may reinstall the schema in the new database type without loosing information. Here it is an example of a Metabase schema: http://www.phpclasses.org/browse.html/file/59.html Regards, Manuel Lemos -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Re: LOBS with CURSOR_SHARING=FORCE gives core dump
I don't think this is the bug with oracle as I was able to do the same with C program having OCI calls. John, I am aware of this work-around. But this requires some changes in the application. What I would like to have is, set the parameter in the system level (init.ora or alter system) and no changes in the application. Thanks, John Lim [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... According to Thies, this is an Oracle bug. A quick workaround which I just tested is to execute an alter session before updating the LOB, and restore cursor_sharing=force after the update. ALTER SESSION SET cursor_sharing=exact Bye, John Prince [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... John! Thanks for the update. Did you find any work-around for this issue? Thanks, Prince. John Lim [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... Hmm, I have also been having similar problems with LOBs. However it might not be cursor_sharing=force, because on my Win 2000 oracle, LOBs work fine with PHP with this parameter set. However on our Sun server, PHP crashes as you mention (yes cursor_sharing=force is set here too). PS: this is set in init.ora. Prince [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... I have the following php code. If I add the parameter CURSOR_SHARING=FORCE in my init.ora and while executing the program I get the Segmentation fault. $ /usr/local/php4/bin/php -q curshare.php Segmentation fault (core dumped) Is there any work-around for this? Is this a bug? This seems to be happening only when LOB with returning clause is present. I tested a similar program from C program and is fine. Note: currently I have set the parameter (CURSOR_SHARING=FORCE ) only in the program/session level. Thanks, Prince. $ cat curshare.php #!/usr/local/php4/bin/php -q ? //program name curshare.php $conn = OCILogon($dbuser, $dbpass, $dbname); //This is added to affect only the current session. $sql = alter session set cursor_sharing=force; $stmt = ociparse($conn,$sql); OCIExecute($stmt,OCI_DEFAULT); $lob = OCINewDescriptor($conn, OCI_D_LOB); $sqlstmt = insert into blob_test ( packageid, packagebody ) values('12344321123efd', EMPTY_BLOB()) returning packagebody into :packagebody; $stmt = OCIParse($conn, $sqlstmt) ; OCIBindByName($stmt, ':packagebody', $lob, -1, OCI_B_BLOB); OCIExecute($stmt, OCI_DEFAULT); OCICommit($conn); OCIFreeDesc($lob); OCIFreeStatement($stmt); OCILogoff($conn); ? -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Cross DB application
Hello, Andrew Hill wrote: ARcadius, You may use an abstraction library such as PEARDB or ADODB, or simply the unified ODBC functions. Andrew, you always suggest ODBC as a good solution for portable database application development, but AFAIK it is not a good solution at all because for crucial things you still have to resort to database specific code to handle database differences. I already asked you this before but I don't recall ever getting a satisfactory answer. I don't know if the problem is in PHP ODBC API or is really an ODBC limitation, but for instance, when you want to implement auto-incremented sequences of integer values that are fundamental for database aplications to use in primary key fields, with ODBC you there seems to be no database independent way to create and retrieve the next sequence value. The other important issue, especially for Web development, is query results paging. In most current databases there some clause like for instance MySQL LIMIT. Others use different syntaxes or clause for restricting the range of rows that are returned by the server to the client. This is importa, especially when you want to show a small number of rows of a very large result set. Once you suggested to use ODBC cursors, but that is not the same as limiting the result rows in the actual queries. For instance, if you need to get the first from row 10 to 19 of a result set of 1.000.000 rows, using the LIMIT clause will make the server stop the query after 20 rows. Using cursors, AFAIK will not stop the query making the database server hog the machine needlessly to traverse 1.000.000 rows of data that an application is not interested in. I don't know if there are better and portable solutions using PHP ODBC API functions, but with your ODBC knowledge is there a way to solve these issues with a complete ODBC API (besides what PHP ODBC API can offer)? I would like to make a better ODBC driver class for Metabase so users can develop portable database applications using Metabase via ODBC, but it seems that I will have to develop subclasses for each type of ODBC data source (MS Access, IBM DB2, SAP-DB, etc...) to handle database specific issues that the ODBC API does not handle by itself. Regards, Manuel Lemos Regards, Manuel Lemos -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Re: [PHP] Re: Cross DB application
Hello, James Cox wrote: I'm planning to write a database application for MySQL, and then port it to PostrgeSQL. Is there any library or class that could help me to write/maintain just one source code for both MySQL and PostgreSQL ? I think your best (if not the only) option in PHP is Metabase. http://www.phpclasses.org/metabase snip spam you could also use PEAR (http://pear.php.net/) which has a more than adequate abstraction layer for various databases. PEAR does not offer a good means of writing portable database applications because it does not have data type abstraction support. This is important because different databases represent data types differently. For instance, Oracle, unlike other databases, does not have individual time and date field types, only a single type that represents both a full timestamp with time and date. This means that if you just want to store a date on the field you have to use the whole timestamp field and discard the time part. Metabase handles that for you. PEAR does not provide any support for this level of database portability. I think this is an important point to mention about this limitatation of PEAR because I noticed that a lot of people that use PEAR did not know about it because they develop applications that only deal with text and integers that need little or no conversion, besides any eventual quoting. As soon they need to use other data types like date and time, when they need to run their applications in different databases, they realize that PEAR was not a good idea because, unlike Metabase, it doesn't handle datatype representation format differences. This may not be a problem for you James, but it is a problem for a lot of database developers that really care about portability because it costs a lot of time and money to maintain the applications that need to work with different databases if you have to tweak your application to handle the differences of the databases. This is the main reason why Java JDBC provide such an high level of database application portability, that in the PHP world only has parallel with Metabase. But, I doubt even metabase can rewrite your SQL queries for you so that it's optimized for postgres AND mysql (and any other option you would like to choose). Metabase does not rewrite queries. You need to know Metabase better. It just converts datatypes of between a database independent format that applications use and the native database datatype format, if and when the develop wants that. you're much better off either picking one DB system, or use both but maintain seperate SQL for each, to provide full optimization. If the original poster would not mind to have the major headache of doing that, he would not have posted, don't you think? Regards, Manuel Lemos -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Definitive answer for large scale registration/authentication
Can I get some feedback on the conventional wisdom as to the best solution for high volume registration and authentication of users accessing a secure site? I have worked before with database/session based methods as well as htaccess. Which is preferred? Are there alternatives? Thanks for the feedback, Brad -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Re: Definitive answer for large scale registration/authentication
Hello, Brad Hubbard wrote: Can I get some feedback on the conventional wisdom as to the best solution for high volume registration and authentication of users accessing a secure site? I have worked before with database/session based methods as well as htaccess. Which is preferred? Are there alternatives? Probably the fastest way to keep session profile information is by serializing the data array into a string that will be encrypted and then stored in cookie. The security weakness of this method is that if the secret key leaks, hackers may use to forge new sessions. A more secure but eventually less scalable method is to store the session data in a shared memory cache, so you minimize database accesses to just one after the server is restarted. This is probably the one you want to use as long you know how to deal with shared memory and semaphores. Regards, Manuel Lemos -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Re: Definitive answer for large scale registration/authentication
On Tue, 16 Apr 2002 14:01, Manuel Lemos did align ASCII characters thusly: Probably the fastest way to keep session profile information is by serializing the data array into a string that will be encrypted and then stored in cookie. The security weakness of this method is that if the secret key leaks, hackers may use to forge new sessions. Is this documented anywhere? A more secure but eventually less scalable method is to store the session data in a shared memory cache, so you minimize database accesses to just one after the server is restarted. This is probably the one you want to use as long you know how to deal with shared memory and semaphores. Is this documented anywhere? My understanding was that htaccess authentication was more secure that session based because of the porblems of session hijacking??? Brad -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Re: Definitive answer for large scale registration/authentication
Hello, Brad Hubbard wrote: On Tue, 16 Apr 2002 14:01, Manuel Lemos did align ASCII characters thusly: Probably the fastest way to keep session profile information is by serializing the data array into a string that will be encrypted and then stored in cookie. The security weakness of this method is that if the secret key leaks, hackers may use to forge new sessions. Is this documented anywhere? Yes, but where I know I can't tell you because it is part of a proprietary system. Maybe somebody else did it like this and documented somewhere but I have no knowledge of that. Anyway what part didn't you understand? A more secure but eventually less scalable method is to store the session data in a shared memory cache, so you minimize database accesses to just one after the server is restarted. This is probably the one you want to use as long you know how to deal with shared memory and semaphores. Is this documented anywhere? Probably only in my mind . :-) My understanding was that htaccess authentication was more secure that session based because of the porblems of session hijacking??? I guess you mean HTTP based authentication. No, AFAIK that is very unsecure because you can't end a session because browsers cache authenticated passwords and only drop them (of they do, IE may not do it) when you quit your browser. If you leave your browser terminal for some time, somebody may come in and take advantage of your account privileges. Regards, Manuel Lemos -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Re: database table layout help
In article [EMAIL PROTECTED], [EMAIL PROTECTED] says... I am setting up a music info site and have decided on the follow tables ( not to sure weather to add the mp3 part). The one main question I have before starting to make the tables is weather mysql_insert_id() would be able to handle this with the way I have it ? :Artist id artist_name :Album id - auto-inc artist_id album_name rec_id image_id :Songs id - auto-inc album_id genre_id mp3_id lyrics :Genre id - auto-inc genre :Recording id - auto-inc recording_studio date :Album Image id - auto-inc image :Artist Info id - auto-inc info :Mp3 id - auto-inc mp3_location Any other suggestions are welcome. B.J.Rumsey In answer to your specific question, yes, mysql_insert_id will work for you as you have auto-increment fileds on each table. In passing, you could probably combine your artist and artist_info into one table - assuming there will only be one 'info' for each artist. Similarly, album and album_image could be combined. I don't see a song title field? Is that deliberate, or did you miss that (or am I blind?) -- David Robley Temporary Kiwi! Quod subigo farinam -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Delete from mysql table is there a way to....
What exactly does it mean when a table becomes fragmented? How do you know when it's happened and something should be done? All the docs and books talk about how bad it is but I'm still confused on what this is and when it happens. Thanks, -Lisi At 05:00 PM 4/14/02 -0700, Jennifer Downey wrote: Hi all, Is there a way to delete a record from a mysql table without fragmenting the db? Here is the query I am using and it does a horrible job. Fragment city. if ($quantity == 0) { $gone = mysql_query(DELETE FROM {$config[prefix]}_my_items WHERE uid={$session[uid]} AND id = '$item'); } Thanks Jennifer -- The sleeper has awaken --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.344 / Virus Database: 191 - Release Date: 4/2/2002 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php