vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   Get Type of SQL Errors? (https://vborg.vbsupport.ru/showthread.php?t=156970)

Panman 09-04-2007 12:37 AM

Get Type of SQL Errors?
 
If an SQL query error occurs, is there way to detect what type of error it was? Here are the two basic things I need to detect.

1. A SELECT, UPDATE, DELETE querys:
a) It worked, all went well
b) Could not find record
c) Something else...

2. A INSERT query:
a) It worked, all went well
b) Duplicate record (ID) found, could not insert
c) Something else...

I'm sure there is a specific code to find this out but it would probably differ between database types. So, I'm just either looking for a way to have vB tell me or if someone has a nice compiled list of error codes for the supported databases. Thanks

To add to the INSERT duplicate error, I'd also need to know if it was a non-unique field/record. I have ID and NAME which both need to be unique.

Eikinskjaldi 09-04-2007 04:13 AM

Quote:

Originally Posted by Panman (Post 1331798)
If an SQL query error occurs, is there way to detect what type of error it was? Here are the two basic things I need to detect.

1. A SELECT, UPDATE, DELETE querys:
a) It worked, all went well
b) Could not find record
c) Something else...

2. A INSERT query:
a) It worked, all went well
b) Duplicate record (ID) found, could not insert
c) Something else...

I'm sure there is a specific code to find this out but it would probably differ between database types. So, I'm just either looking for a way to have vB tell me or if someone has a nice compiled list of error codes for the supported databases. Thanks

To add to the INSERT duplicate error, I'd also need to know if it was a non-unique field/record. I have ID and NAME which both need to be unique.

Well since you are running vb there is only one database type, and that is mysql, the error codes for which reside over in the mysql documentation.

You cannot get a duplicate error on a field that is not indexed unique, cause the latter is a pre-requisite for the former. You can index what ever table it is you are taling about so that it has dual primary keys, or the indices on the two fields are unique.

Note that select, update and delete will not spit an error if a record is not found, it will simply not do anything to the database/return no rows

Panman 09-04-2007 11:54 PM

Ah, I did not realize that vB only supports mySQL. That makes it fairly easy. Do you know what versions of mySQL are supported? Or maybe, do the error codes change between version? I wouldn't think so..

The id will be specified as the primary key and the name is just indexed as unique. I'm assuming there will be a different error code for each.?.?

I didn't think about the affected rows for checking if anything was updated, deleted, etc. That will be easy to check for. And for the SELECT statements, it just won't return any rows, correct? Thanks for your help, it's greatly appreciated!

Eikinskjaldi 09-05-2007 10:31 AM

Quote:

Originally Posted by Panman (Post 1332559)
Ah, I did not realize that vB only supports mySQL.

Well its LAMP, what other choices are there? Also the vb code is full of mysql specific sqls.


Quote:

That makes it fairly easy. Do you know what versions of mySQL are supported?
Everything over 4.0

Quote:

Or maybe, do the error codes change between version? I wouldn't think so..
no they do not.

Quote:

The id will be specified as the primary key and the name is just indexed as unique. I'm assuming there will be a different error code for each.?.?
No idea

Quote:

I didn't think about the affected rows for checking if anything was updated, deleted, etc. That will be easy to check for. And for the SELECT statements, it just won't return any rows, correct? Thanks for your help, it's greatly appreciated!
right and np


All times are GMT. The time now is 09:15 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01069 seconds
  • Memory Usage 1,724KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (6)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete