#include <gtk/gtk.h> 
#include <stdlib.h> 
#include <mysql.h> 
#include <glib.h> 
char *p; 
GtkEntry *entry_box; 
gint delete_event(GtkWidget *widget, GdkEvent event, gpointer data) 
{ 
return FALSE; 
} 
void end_program(GtkWidget *widget, gpointer data) 
{ 
gtk_main_quit(); 
} 
void doSQL(MYSQL *conn,char *command) 
{ 
printf("%s\n",command); 
mysql_query(conn,command); 
printf("result: %s\n",mysql_error(conn)); 
} 
a()
{ 
MYSQL *conn; 
conn=mysql_init(NULL); 
if(mysql_real_connect(conn,"localhost",NULL,NULL,"ravi",0,NULL,0)) 
{ 
printf("connection made\n"); 
g_object_get(entry_box,"text",&p,NULL); 
p=strdup(p); 
doSQL(conn,"INSERT INTO test(id )VALUES(p)"); /*LINE 65 */
} 
} 
int main(int argc, char **argv) 
{ 
GtkWidget *window; 
GtkWidget *box; 
GtkButton *b; 
gtk_init(&argc,&argv); 
window=g_object_new(GTK_TYPE_WINDOW,"title","dataentry widget","border-width",12,"default-width",800,NULL); 
g_signal_connect(window,"delete_event",G_CALLBACK(delete_event),NULL); 
g_signal_connect(window,"destroy",G_CALLBACK(end_program),NULL); 
box=gtk_vbox_new(FALSE,0); 
entry_box=g_object_new(GTK_TYPE_ENTRY,"text","",NULL); 
b=g_object_new(GTK_TYPE_BUTTON,"label","INSERT",NULL); 
g_signal_connect(b,"clicked",G_CALLBACK(a),NULL); 
gtk_container_add(GTK_CONTAINER(window),box); 
gtk_box_pack_start_defaults(GTK_BOX(box),entry_box); 
gtk_box_pack_start_defaults(GTK_BOX(box),b); 
gtk_widget_show_all(GTK_WIDGET(window)); 
gtk_main(); 
return 0; 
} 
1).When I executed the test executive file, a small window with an entry widget and a button opened up and 
I put the string bb in the GtkEntry widget and pressed the INSERT button I recieved the folling output 
root#] ./test 
connection made. 
INSERT INTO test(id) VALUES (p) 
result: unknown column 'p' in 'field list'. 
2). When I changed the code on line 65 into --doSQL(conn,"INSERT INTO test(id)VALUES('p')")--.and recompiled 
the program and again put the string bb in the entry widget I got the following 
output 
connection made 
INSERT INTO test(id) VALUES ('p') 
result: 
This time the string p got inserted into the database.
3). The problem lies with the sql query string "INSERT INTO test(id)VALUES(p)" 
I want to know in the following program what form the variable p should take in the parenthesis immediatley 
after the keyword VALUES. so that the insertion from the entry widget into the database coult succeed. 
I am using Red hat Linux v9.0.
regards
sameer.